Python/Python for Windows

[Python] subprocess모듈과 Bandizip을 이용한 전일 로그 자동 압축 보관

Pydole 2019. 10. 20. 15:50

Bandizip은 커맨드 명령어를 제공하며, 자세한 옵션은 아래 URL을 참고

 

URL https://www.bandisoft.com/bandizip/help/parameter/

 


 

이번 포스팅에서 쓰는 옵션은 압축(c)과 자동 창 닫힘(-y)을 사용하여 전일 로그를 압축해보려 한다.

 

대상 로그는 IIS로그로 포맷은 ex_yyyymmdd.log 형식이며, 현재 2019-10-20일 기준으로 전일 기준인

 

 ex_20191019.log 파일이다.

 

import subprocess
from datetime import timedelta
from datetime import datetime
from os import chdir

yesterdaylog = 'ex_'+str(datetime.today().date() - timedelta(days=1)).replace('-','')

chdir(path)    # compress path

program = 'C:\Program Files\Bandizip\Bandizip.exe'      # 반디집 설치 위치 (Default)
source = yesterdaylog  + '.log'
dst = yesterdaylog +'.zip'

subprocess.run([program,'c','-y', dst,source])

 

실행후 ex_20191019.zip으로  압축파일이 새로 생성 되었다.

 

 

 

 추가적으로 압축한 파일을 SFTP, SFTP로 다른 곳으로 소관보관하거나 dst 목적지 압축보관하여 분리 보관하는 방법을

활용할 수 있고, 압축결과 로그를 별도로도 남길 수 있다.