크론탭이나 다른 방법으로 정기적으로
프로그램을 실행하고 로그를 출력하고 나면 나중에는 로그파일이 많아지게 된다.
이럴때 로그파일을 한번 정리해야 할 필요가 있을때 다음과 같이
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 {} \;
반응형
'리눅스 > Bash' 카테고리의 다른 글
[sz / rz][커맨드] 파일전송을 위한 sz, rz 커맨드 (0) | 2016.11.17 |
---|---|
[bash] 쉘 스크립트 작성시 로그 출력을 위한 간단한 함수 (0) | 2016.11.08 |
[bash] [script] 파일이 생성될 때까지 대기하는 스크립트 (0) | 2016.10.07 |
[bash][find] find 로 파일 검색중 Permission denied 보지 않기 (0) | 2016.08.26 |
[bash][du] 폴더별 용량 확인하기 (0) | 2016.08.25 |