반응형
테스트 서버에 지속적으로 파일이 누적되는 경로가 있다면 보관 기간을 기준으로 일정 시간이 지난 파일을 알아서 삭제해줄 수 있는 command toolkit이 있다.
CentOS 에서는 tmpwatch, Ubuntu 에서는 tmpreaper 이다.
설치하기
CentOS - tmpwatch
sudo yum install tmpwatch
Ubuntu - tmpreaper
sudo apt-get install tmpreaper
특정 기간이 지난 파일 삭제하기
# /abc/def 하위에 파일이 누적되고 있고
# 수정 시간 기준(-m 옵션)으로 1시간 이내의 파일을 제외하고 삭제하는 명령어
tmpwatch -m 1 /abc/def
tmpreaper -m 1 /abc/def
-u 또는 --atime 옵션 : file access time 기준 (-> 이 옵션은 tmpwatch 에서만 지원되며 tmpreaper 에서는 지원되지 않음)
-m 또는 --mtime 옵션 : modification time 기준
-c 또는 --ctime 옵션 : inode change time 기준, 대표적으로는 chmod, chown 등의 변경이 해당된다고 함
주기적으로 파일 삭제하도록 설정 (crontab 활용)
crontab 에 등록하여 주기적으로 명령어가 실행되도록 설정하여 주로 사용함
crontab -e
# 아래 내용 저장
# 수정시간 1시간이 지난 파일은 삭제
* * * * * /usr/bin/tmpwatch -m 1 /abc/def
# ubuntu 에서는
* * * * * /usr/sbin/tmpreaper -m 1 /abc/def
* crontab 에 등록할 때는 tmpwatch 또는 tmpreaper command 의 절대 경로로 등록해야 함. 명령어만 등록할 경우 실제 명령어 위치를 찾지 못해 실패됨. 명령어 위치는 whereis tmpwatch 형태로 조회하면 됨.
반응형
댓글