[Tip] Windows 자동 재시작 설정

2011. 10. 4. 15:19Others/Operating System

서론

서버를 운용하면은 정기적으로 점검 및 초기화 하는 작업이 필요합니다. 서버의 사용자가 많지 않을 때는 오랜 기간 재부팅 등의 초기화 작업 없이도 운영가능 하지만 시간이 지날 수록 시스템이 느려지거나 불안정해지고, 심할 경우에는 서버가 정상동작 하지 않게 됩니다. 이는 하드웨어의 수명을 단축시키는 요인으로 작용하게 되기도 합니다.

아무리 초고가의 고가용성을 자랑하는 서버용  H/W와 S/W로 무장할 지라도 이 작업은 필수적으로 진행되게 됩니다. 사람의 손을 통해 탄생한 어떤 것이든 완벽함이란 거의 있을 수가 없기 때문입니다. 서버용 운영체제인 Windows Server 2008, Linux, JDK 등도 자체적으로 메모리 누수가 발생하는 경우가 있기에 시스템의 초기화는 어떤 시스템이든 피해갈 수 없다고 봐도 무방합니다.

보통 서버가 문제가 없는지 파악하기 위해 모니터링과 점검은 수시로 관리자에 의해 진행되지만, 서버를 재시작(초기화)하는 것은 일반적으로 사용자가 가장 적은 새벽 4~5시 사이의 시간대에 이루어지게 됩니다. 물론 게임과 같은 서비스는 오전 7~9시 사이에 가장 사용자가 적으므로 그 때 이루어지기도 합니다. 결론은 자체적으로 사용자가 가장 적은 시간을 파악하여 진행되게 됩니다.

문제는 일반적으로 사용자가 가장 적은 시간대는 새벽 또는 이른 아침이고, 직원이 그 시간까지 퇴근하지 않고 기다리거나 혹은 출근하도록 하기가 현실적으로 어렵다는 것입니다. 서비스 규모가 커서 24시간 대기 체재라면 모를까 일반적인 회사에서 직원이 매주(혹은 매달, 매분기) 새벽시간에 작업을 진행하도록 바라는 것은 쉽지 않은 일입니다. (하루 또는 이틀간의 점검을 사전에 공지 드리고 작업을 진행하는 경우도 있습니다.)

설정하기

여기서는 Windows 2008 Server 운영체제를 사용하는 시스템이 작업스케줄러를 통해 스스로 종료되고 재기동 하게하는 설정법에 대해 안내 드리도록 하겠습니다.

  1. 시작-실행…을 선택합니다.
  2. control schedtasks를 입력하여 작업 스케줄러를 실행합니다.
    image
  3. 메뉴의 동작(A)-작업만들기(R)…을 선택합니다.
    image
  4. 먼저 일반 탭을 작성합니다.
    • 이름에 작업명을 입력합니다.
    • 설명에 작업설명을 입력합니다.
    • 사용자의 로그온 여부에 관계없이 실행(W)를 선택합니다.
    • 가장 높은 수준의 권한으로 실행(I)를 선택합니다.
      image
  5. 트리거에 작업을 추가합니다.
    • 새로 만들기(N)… 버튼을 클릭합니다.
    • 매일(D)를 선택합니다.
    • 시작(S)의 일시정보를 입력합니다.
    • 고급설정 부분의 경우 필요에 따라 설정합니다.
      image
  6. 동작 탭에 새로 만들기(I)…버튼을 클릭하여 정보를 입력합니다.
    • 동작(I)프로그램 시작을 선택합니다.
    • 설정프로그램/스크립트(P)에는 shutdown을 입력합니다.
    • 인수 추가(옵션)(A)에는 -r -t 30 -c "30초 후 시스템을 재시작합니다"를 입력합니다.
  7. 기타 조건 탭과 설정 탭은 필요에 따라 추가적으로 설정하시면 됩니다.

위 방법을 진행하시면 매일 정해진 시간에 시스템이 재시작 될 것입니다. Windows Server에서 제공하는 PowerShell을 이용하시면 좀 더 복잡한 예외처리 및 작업이 진행되도록 하실 수 있으니 참고바랍니다.

※ Windows 2003/XP의 경우 shutdown 명령어 대신 C:\Windows\System32\tsshutdn.exe를 사용합니다.