TIPS

윈도우 서버 로그 백업 (스케쥴러)

girin_dev 2022. 2. 7. 11:20
728x90
반응형

 

 

 

로그 파일을 매일 혹은 3일 단위로 압축해서 특정 경로에 백업

 

 

배치파일이라면 

처음엔 이렇게 하려고 했다.

☁ cmd/k는 작업이 끝난 경우 cmd 창을 유지하는 명령어라고 한다.

 

결론이 급하다면 여기부터 봐야한다.
이게 최종 배치 코드니깐

@echo off
@echo 로그백업 배치 파일 실행.

set datefull=%date:-=%
set timefull=%time: =0%
set timefull=%timefull::=%
set target_backup_dir=D:\home\logs_bak\%date:~0,4%%date:~5,2%%date:~8,2%\

rem # 오늘 날짜 기준 Ex) yyyyMMdd_logs.zip형식으로 디렉토리 생성.
MKDIR D:\home\logs_bak\%date:~0,4%%date:~5,2%%date:~8,2%

rem # 로그 경로에 있는 로그 파일들을 타겟 디렉토리로 복사.
COPY D:\home\archvlogs\* %target_backup_dir%

rem # 로그 압축을 위한 세팅.
set runfile="C:\Program Files\Bandizip\Bandizip.exe"
set param_val=c
set original_dir=D:\home\archvlogs

%runfile% %param_val% -y %target_backup_dir%%datefull%_logs %target_backup_dir%

cd %target_backup_dir%
del /q %target_backup_dir%*.log*

taskkill /im Bandizip
@echo 로그 백업 종료.

 

 

 

☁ 배치파일을 만들었다면 윈도우 서버에서는 특정 시간대에 이 배치파일을 실행하게 끔 해줘야 한다. 

 

☁  작업 스케쥴러를 추가한다.

 

☁ 스케쥴러 트리거는 새벽 2시에 실행된다.

.
실행하고싶은 배치 프로그램의 경로를 지정

 

자세한 설정.

 

 

작업 완료 유무도 확인

 

 

작업 실행 이후에도 프로세스가 중복되어 자동 종료 옵션이 먹히질 않는다면, 

 

👉  다른 프로세스가 사용중인 파일이라 == 에러가 난 상태라 종료가 안되는 문제 발생.

 

그렇당...

 

따라서 로그 복사 - 압축 - 압축 이후 기존 파일 삭제 방식으로 수정.

 

일단 날짜별로 특정 디렉토리를 만들어서 들어가도록 설정.
 

반디집 공식 :  닫기버튼을 누르기 싫다면 -y를

 
아래의 original_dir 경로를 날짜로 잡고 ( 로그 파일 복사가 선행되어야 함. ) 

 

del의 디렉토리 경로 지정 = 혹시 모를 다른 파일 삭제 하지 않도록 수정 + *.log 로그 확장자만 지우도록 수정 == .zip 파일( 압축파일_)은 제외하고 삭제

 

 

@echo off
@echo 로그백업 배치 파일 실행.

set datefull=%date:-=%
set timefull=%time: =0%
set timefull=%timefull::=%
set target_backup_dir=D:\home\logs_bak\%date:~0,4%%date:~5,2%%date:~8,2%\

rem # 오늘 날짜 기준 Ex) yyyyMMdd_logs.zip형식으로 디렉토리 생성.
MKDIR D:\home\logs_bak\%date:~0,4%%date:~5,2%%date:~8,2%

rem # 로그 경로에 있는 로그 파일들을 타겟 디렉토리로 복사.
COPY D:\home\archvlogs\* %target_backup_dir%

rem # 로그 압축을 위한 세팅.
set runfile="C:\Program Files\Bandizip\Bandizip.exe"
set param_val=c
set original_dir=D:\home\archvlogs

%runfile% %param_val% -y %target_backup_dir%%datefull%_logs %target_backup_dir%

cd %target_backup_dir%
del /q %target_backup_dir%*.log*

taskkill /im Bandizip
@echo 로그 백업 종료.
320x100
반응형