2021. 10. 7. 19:21

리눅스에서 tmp 폴더에 더미 파일이 많이 쌓여서, 몇일 지난 파일은 자동으로 삭제하고 싶을 때 

 

 

1. 먼저 날짜 몇일 이상 지난 파일 찾기

 

> find 폴더 -name 파일명 -mtime +일수

> find /tmp/ -name '*.tar' -mtime +30

 

이렇게 쓰면 31일 지난 파일 목록이 뜬다.

쓰는 숫자에 +1 계산해야된다.

 

2. 삭제하기 

> find /tmp/ -name '*.tar' -mtime +30 -delete

 

delete 옵션을 사용하면 31일지난 파일은 삭제된다. 

 

 

3. 쉘 스크립트 만들기

> vi test.sh

를 열고 아래처럼 작성한다.

#!/bin/sh

find /tmp/ -mtime +30 -delete

저장하고 나가기 (:wq)

tmp 파일의 모든파일중 31일이 지난 파일은 삭제한다.

 

실행권한주기,

> chmod 755 test.sh

 

 

4. 스케쥴 등록하기(crontab)

>crontab -e

30 00 * * * /tmp/test.sh

 저장후 나가기(:wq)

 

매일 00:30분에 위 쉘를 실행함.

 

#적용확인하는법

현재 디렉토리의 하위 파일개수 세기

> find . -type f | wc -l

Posted by Tyson