본문 바로가기
카테고리 없음

[tmpwatch/tmpreaper] 특정 기간이 지난 파일 삭제 관리하기

by 알탱2 2024. 5. 12.
반응형

테스트 서버에 지속적으로 파일이 누적되는 경로가 있다면 보관 기간을 기준으로 일정 시간이 지난 파일을 알아서 삭제해줄 수 있는 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 형태로 조회하면 됨.

 

 

 

반응형

댓글