본문 바로가기
리눅스/Bash

[bash][find] 로그파일 정리하기

by hs_seo 2016. 11. 7.

크론탭이나 다른 방법으로 정기적으로 

프로그램을 실행하고 로그를 출력하고 나면 나중에는 로그파일이 많아지게 된다. 


이럴때 로그파일을 한번 정리해야 할 필요가 있을때 다음과 같이 

find 명령어를 이용하여 처리하면 된다. 


어제자 이름으로 생성된 파일을 압축하고, 

7일전 파일은 삭제한다. 


* find로 검색한 파일을 압축할 때도 사용가능


#!/bin/bash


cd /mnt/crontab/hive_metadb_check/


vYesterDayYYYYMMDD="*`date -d "yesterday" -u +\%Y\%m\%d`*"

v7DayPrevYYYYMMDD="*`date -d "-7 day" -u +\%Y\%m\%d`*"


# 어제자 로그 파일 정리 

find ./logs/ -name "*${vYesterDayYYYYMMDD}*"  | xargs tar -zcvf "`date -d "yesterday" -u +\%Y\%m\%d`.tar.gz"

find ./logs/ -name "*${vYesterDayYYYYMMDD}*" -exec rm -rf {} \;


# 7일전 로그 삭제 

find ./logs/ -name "*${v7DayPrevYYYYMMDD}*" -not -name "*.tar.gz" -exec rm -rf {} \;




반응형