이번 글에서는 윈도우 환경에서 사용할 수 있는 스크립트를 만들어 보겠습니다. 배치 파일로 작성하여 윈도우 서비스 및 Task 점검을 보다 쉽고 빠르게 확인할 수 있는 스크립트입니다.
목차
배치 파일(bat)을 이용한 service 체크 및 Task 체크 스크립트
1. 스크립트 시작 설정
@echo off
스크립트가 실행될 때 커맨드 프롬프트에 명령어를 표시하지 않도록 설정합니다.
2. 문자 인코딩 설정
chcp 437 > NUL
스크립트에서 사용하는 인코딩을 437 코드 페이지로 설정합니다.
3. 스크립트 시작 메시지 출력
echo ======================
echo == StartUP Check List ==
echo ======================
스크립트 실행 시 화면에 표시되는 문구입니다. 원하는 메시지로 변경하면 좋을 듯합니다.
4. 서비스 체크
echo.
echo =============
echo Service Check
echo =============
for /f "delims=" %%i in ('type service.list ^| findstr /v #') do (
echo|set /p=- %%i :
sc query "%%i" | findstr "STATE" | findstr "RUNNING" > NUL
IF ERRORLEVEL 1 (echo STOPPED) ELSE (echo RUNNING)
)
echo ======================================
service.list 파일의 각 서비스에 대해 상태를 확인하고 결과를 출력합니다. 사전에 체크할 서비스 항목을 만들어 주어야 합는데요 스크립트 보시면 service.list 라는 파일에 체크할 서비스 항목들을 넣어 두었습니다.
5. Task 체크
echo.
echo ============
echo Task Check
echo ============
for /f "delims=" %%i in ('type task.list ^| findstr /v #') do (
echo|set /p=- %%i :
tasklist | findstr /c:"%%i" > NUL
IF ERRORLEVEL 1 (echo STOPPED) ELSE (echo RUNNING)
)
echo ================================================
서비스 체크와 같은 방식으로 taks.list 파일의 각 task에 대한 상태를 체크하고 결과를 출력 합니다. Task 항목도 서비스체크와 마찬가지로 task.list 파일에 넣어 두었습니다.
6. NAS 연결 확인
echo.
echo ==============
echo NAS Connection
echo ==============
net use
echo ================================================
현재 시스템의 연결된 모든 네트워크 드라이브를 표시합니다.
7. 스크립트 종료 설정
pause
exit
스크립트 실행 결과를 확인할 수 있도록 화면에 일시 중지하고 스크립트를 종료합니다.
8. 실행 결과
스크립트를 실행하면 아래 그림과 같이 확인이 됩니다.
9. 전체 소스
@echo off
chcp 437 > NUL
echo ======================
echo == StartUP Check List ==
echo ======================
echo.
echo.
echo =============
echo Service Check
echo =============
for /f "delims=" %%i in ('type service.list ^| findstr /v #') do (
echo|set /p=- %%i :
sc query "%%i" | findstr "STATE" | findstr "RUNNING" > NUL
IF ERRORLEVEL 1 (echo STOPPED) ELSE (echo RUNNING)
)
echo ======================================
echo.
echo.
echo ============
echo Task Check
echo ============
for /f "delims=" %%i in ('type task.list ^| findstr /v #') do (
echo|set /p=- %%i :
tasklist | findstr /c:"%%i" > NUL
IF ERRORLEVEL 1 (echo STOPPED) ELSE (echo RUNNING)
)
echo ================================================
echo.
echo.
echo ==============
echo NAS Connection
echo ==============
net use
echo ================================================
pause
exit
전체 코드입니다. 본인의 시스템에 맞게 수정하여 사용하시면 보다 편리하게 점검을 진행할 수 있을 것 같습니다. 추가로 로그 파일을 떨궈주는 코드를 추가 작성하여 작업 스케쥴러에 등록 후 로그 파일로 확인할 수 있을 것입니다.
★ 같이 보면 좋은 글
리눅스 web/was 체크 스크립트(apache, tomcat)
리눅스 web/was 체크 스크립트(apache, tomcat)
리눅스 시스템에서 web/was 인스턴스 체크를 하기 위한 쉘 스크립트 입니다. 사용하는 시스템에 맞게 수정해서 사용하면 도움이 될것 같습니다. 본 스크립트는 하나의 리눅스 시스템에 apache와 tomc
zzose-no1.tistory.com
'투윤아빠의 올IT' 카테고리의 다른 글
가성비 노트북 레노버(Lenovo)씽크북 15 G4-ABA-21DL004RKR 내돈내산 언박싱 (0) | 2023.11.30 |
---|---|
갤럭시S24 출시일 / 스펙 / 가격 / 신기능 삼성 생산형AI 가우스 탑재에 대해 알아보기 (0) | 2023.11.28 |
선택 장애를 위한 갤럭시북3 프로 VS LG그램 2023 16인치 비교/대학생 노트북 추천/ 쉽게 비교해 보기 (0) | 2023.11.26 |
리눅스 web/was 체크 스크립트(apache, tomcat) (0) | 2023.11.23 |
시스템 포트체크 배치 스크립트 / 응답시간 포함 / PowerShell 활용 / port check script (1) | 2023.11.22 |