윈도우에서 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 상태를 체크하고, 문제가 있으면 재부팅하도록 설정합니다.
작업 스케줄러에서 주기적으로 해당 스크립트를 실행하도록 설정하여 자동으로 서버 상태를 감시할 수 있습니다.
'SMART GPT' 카테고리의 다른 글
Apache 웹 서버에서 사용자 인증 처리 .htpasswd를 이용한 로그인 구현 (0) | 2024.11.17 |
---|---|
MySQL과 jQuery(Ajax)를 사용한 PHP 간단한 챗봇 만들기 (1) | 2024.11.14 |
google API 를 이용한 간단한 챗봇 만들기 (1) | 2024.11.09 |
윈도우 아파치서버 에서 다른 드라이브(예: 로컬 디스크 D 드라이브)의 web 폴더를 DocumentRoot로 설정 (0) | 2024.10.04 |
Windows 서비스 관리자에서 Apache 서버가 멈췄을 때 시스템 자체를 재부팅 (0) | 2024.09.25 |
phpMyAdmin에서 데이터베이스를 추가할 때 비밀번호와 권한을 바로 설정하는 방법 (0) | 2024.09.21 |
ORDER BY 절에서 사용할 수 있는 몇 가지 옵션 (0) | 2024.09.19 |
MySQL에서 테이블을 생성하고 입, 출력 해보자(입력,출력,페이지네이션,검색) (1) | 2024.09.16 |
댓글