본문 바로가기
컴퓨터 활용(한글, 오피스 등)/50_2.운영체제_리눅스

리눅스 오래된 파일 자동 삭제하기 (shell script, crontab)

by 3604 2023. 12. 19.
728x90

출처: https://tyson.tistory.com/233

 

리눅스에서 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

출처: https://tyson.tistory.com/233 [TysonWorld:티스토리]

728x90