find를 이용하여 삭제하는 방법으로 후보군을 검색 및 삭제하는 스크립트를 생성하고,
그 스크립를 crontab을 이용하여, 주기적으로 실행한다.
실행 스크립트
#!/bin/sh cd /ccdata/ #find temp logs -mtime +15 -type f -exec rm {} \; > /dev/null 2>&1 find temp logs ! -name "*.log" ! -name "*.out" ! -name "*.txt" -mtime +15 -type f -exec rm {} \; > /dev/null 2>&1 |
! -name 은 예외 조건임.
crontab 사용법
crontab: usage error: unrecognized option usage: crontab [-u user] file crontab [-u user] [ -e | -l | -r ] (default operation is replace, per 1003.2) -e (edit user's crontab) -l (list user's crontab) -r (delete user's crontab) -i (prompt before deleting user's crontab) -s (selinux context) [root@cl-EFSS-linux14 ccdata]# crontab -l */5 * * * * root /usr/bin/php /usr/local/cacti/poller.php > /dev/null 2>&1 0 1 * * * root /ccdata/delete_15days_log.sh |