본문 바로가기

윈도우에서 Apache 서버 상태를 체크한 후 문제가 발생하면 자동으로 재부팅

반응형

윈도우에서 Apache 상태를 체크한 후 문제가 발생하면 자동으로 재부팅하는 스크립트를 작성하고 사용하는 방법을 단계별로 설명하겠습니다.

1. PowerShell 스크립트 작성
Apache 서버의 상태를 확인하고, 실행 중이지 않으면 윈도우를 재부팅하는 PowerShell 스크립트를 작성합니다.

스크립트 코드 예시

# Apache 서비스 상태 확인
$apacheService = Get-Service -Name 'Apache2.4'
if ($apacheService.Status -ne 'Running') {
# Apache가 실행 중이 아니면 윈도우 재부팅
shutdown /r /f /t 0
}

 

스크립트 작성 방법
메모장 또는 PowerShell ISE를 엽니다.
위의 스크립트를 복사하여 붙여넣습니다.
스크립트를 ApacheCheckAndReboot.ps1이라는 이름으로 저장합니다. 예를 들어 C:\Scripts\ApacheCheckAndReboot.ps1 경로에 저장할 수 있습니다.

2. 작업 스케줄러에서 스크립트 실행 설정
PowerShell 스크립트를 주기적으로 실행하여 Apache 서버 상태를 감시하려면 작업 스케줄러를 설정해야 합니다.

작업 스케줄러 설정 방법
작업 스케줄러 열기:
Win + R을 누르고 taskschd.msc를 입력 후 Enter를 누릅니다.

새 작업 만들기:
오른쪽에서 작업 만들기를 클릭합니다.

일반 탭 설정:
작업 이름을 예를 들어 "Apache 상태 체크 후 재부팅"이라고 입력합니다.
"가장 높은 권한으로 실행"을 체크합니다.

트리거 탭 설정:
상단의 트리거 탭을 클릭한 후 새로 만들기를 클릭합니다.
작업이 실행될 주기를 설정합니다.
예를 들어 5분마다 Apache 상태를 점검하려면:
"일정"을 선택한 후 "5분 간격"으로 설정할 수 있습니다.
설정 후 확인을 누릅니다.

동작 탭 설정:
상단의 동작 탭에서 새로 만들기를 클릭합니다.
프로그램/스크립트 시작을 선택하고, 프로그램/스크립트 항목에 powershell.exe를 입력합니다.
인수 추가에는 PowerShell 스크립트를 실행할 명령어를 입력합니다.

-ExecutionPolicy Bypass -File "C:\Scripts\ApacheCheckAndReboot.ps1"


-ExecutionPolicy Bypass를 추가하여 실행 정책을 무시하고 스크립트를 실행할 수 있도록 설정합니다.
"C:\Scripts\ApacheCheckAndReboot.ps1" 부분은 실제 스크립트 파일의 경로로 바꿔야 합니다.

3. PowerShell 실행 정책 설정 변경
윈도우에서는 PowerShell 스크립트 실행에 대한 보안 정책이 설정되어 있어, 작업 스케줄러에서 스크립트가 실행되지 않을 수 있습니다. 실행 정책을 변경해야 할 수 있습니다.

PowerShell 실행 정책 확인 및 변경:
PowerShell 관리자 권한으로 실행:

Win + X를 누르고 **Windows PowerShell(관리자)**를 선택합니다.

현재 실행 정책 확인:
Get-ExecutionPolicy

실행 정책을 변경:
실행 정책이 Restricted로 되어 있으면 스크립트가 실행되지 않습니다.
실행 정책을 RemoteSigned 또는 Bypass로 변경합니다.
Set-ExecutionPolicy RemoteSigned
이 명령어는 시스템에서 로컬로 생성된 스크립트를 실행할 수 있게 허용합니다.

이 과정을 통해 Apache 서버에 문제가 발생하면 윈도우가 자동으로 재부팅되도록 설정할 수 있습니다.

요약
PowerShell 스크립트를 작성하여 Apache 상태를 체크하고, 문제가 있으면 재부팅하도록 설정합니다.
작업 스케줄러에서 주기적으로 해당 스크립트를 실행하도록 설정하여 자동으로 서버 상태를 감시할 수 있습니다.

반응형

댓글


Copyright ⓒ SmartWeb All rights reserved.