최근 허니팟 관련 스크립트를 작성하여 서버가 재부팅 되는 경우 서버 로그인 전에 자동으로 실행이 되도록 하기 위해 해당 스크립트를 서비스로 등록하는 작업을 진행하여 보았습니다.
Resource Kit Tools 설치
Windows Server 2003 용 : http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&displaylang=en
Batch 파일 작성
서비스로 등록시킬 스크립트 파일을 아래와 같이 작성한다. C:\Python25\python.exe C:\Service\test.py > c:\Service\log.txt
서비스 등록
아래 명령어로 서비스를 등록한다. C:\Program Files\Windows Resource Kits\Tools\instsrv [서비스명] C:\Program Files\Windows Resource Kits\Tools\srvany.exe
레지스트리 등록
아래 레지스트리 값으로 이동 하여 Key값 및 Value값을 추가 한다. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services[서비스명]
서브 Key 추가 : Parameters Parameters Key 하위에 아래와 같은 이름으로 Value(문자열값) 추가
Application = "C:\Service\start.bat" AppDirectory = "C:\Service" AppParameters = " "
서비스 실행 계정 변경
[제어판] - [관리도구] - [서비스]로 이동하여 방금 생성한 서비스 실행 계정을 Administrator로 변경한다.
배치파일 생성
마지막으로 start.bat 파일 구성에 대해 알아보겠습니다. 제가 작성한 배치파일 내용 입니다.
start.bat
| |
URL-always.bat
| |
URL-down.txt.bat
| |
이렇게 3개의 배치파일을 통해 서비스로 start.bat 파일을 실행하면 자동으로 원하는 Python 스크립트를 다수 실행하며 에러를 기록할 수 있습니다.