개발자로서 관리중인 서버에 100여개 이상의 많은 예약작업이 있다보니 이를 하나 하나 확인하기가 영 깝깝했다. 등록되어 있는 예약작업 정보를 실시간으로 가져올 수 있는 방법이 없을까 찾아보니 과연 schtasks.exe 라는 서버 실행파일이 있어 쉽게 해당 정보를 가져올 수 있었다. CSV와 같은 엑셀 포맷으로도 뽑을 수 있으니 여러모로 활용가능성이 충분하다. 조회하는 것 뿐 아니라 새로 등록하거나 이미 등록된 기존 배치작업을 디테일하게 수정할 수 도 있다.



현재 관리하고 있는 배치작업용도의 윈도우 서버에 어떤 예약작업이 등록되어 있는지 확인하기 위해 다음과 같이 schtasks 명령을 이용할 수 있습니다. 


해당 서버에서 직접 확인할 수도 있고 원격으로 다른 서버의 예약작업도 확인이 가능합니다. 윈도우 서버의 커맨드 창을 열어 schtasks 명령을 실행하면 현재 등록되어있는 예약작업 목록 및 세부등록정보를 가져올 수 있을 뿐만 아니라 새로운 예약작업도 등록, 수정이 가능합니다. 


저의 경우 전용서버에서 200개가 넘는 예약작업이 돌아가고 있어 각각의 등록내용을 확인하기 위해 CSV 타입의 엑셀 파일로 저장하고 다시 이를 파싱하여 배치관리 테이블에 DB화하여 관리하기 위한 용도로 이 명령을 사용했습니다. 서버관리자로 관리해야 할 예약작업이  많다면 유용하게 사용할 수 있을 듯 합니다. 



SCHTASKS /Query [/S system [/U username [/P password]]]

         [/FO format] [/NH] [/V] [/?]


설명: 

    관리자가 로컬 또는 원격 시스템의 예약된 작업을

    표시할 수 있도록 합니다.


매개 변수 목록:

    /S        system         연결할 원격 시스템을 지정합니다.


    /U        username       명령을 실행할 사용자 컨텍스트를

                             지정합니다.


    /P        [password]     제공된 사용자 컨텍스트에 대한 암호를

                             지정합니다. 생략된 경우 입력하도록 묻습니다.


    /FO       format         출력이 표시될 형식을 지정합니다.

                             유효한 값: TABLE, LIST, CSV.


    /NH                      출력에 열 머리글이 표시되지 않도록

                             지정합니다.

                             TABLE 및 CSV 형식에만 유효합니다.


    /V                       자세한 작업 출력을 표시합니다.


    /?                       이 도움말을 표시합니다.


예:

    SCHTASKS /Query 

    SCHTASKS /Query /? 

    SCHTASKS /Query /S system /U user /P password

    SCHTASKS /Query /FO LIST /V /S system /U user /P password

    SCHTASKS /Query /FO TABLE /NH /V


Posted by 라스모르
,