본문 바로가기

Linux

리눅스 find 명령어를 이용한 파일 삭제

반응형

리눅스 서버등에 일정기간이 지난 파일을 삭제하는 방법이다.

로그등과 같은 파일은 내부 정책에 의해 일정기간이 지나면 삭제하는게 좋은데,
디스크의 용량을 차지할 뿐만 아니라 디렉토리 조회에도 시간이 걸리기 때문이다.


일정기간이 지난 파일을 삭제하는 방법은 find 명령어를 이용하여 삭제하면 된다.

예제 디렉토리가 "/home/tour/log" 라고 했을때 파일 삭제방법은 다음과 같다.




1. 30일이 지난 파일 삭제
find /home/tour/log -mtime +30 -print -exec rm -f {} \;



2. 10분이 지난 파일 삭제
find /home/tour/log -mmin +10 -print -exec rm -f {} \;



3. err_log 로 시작하고 확장자가 txt 파일인것들만 삭제
find /home/tour/log -mtime +30 -name "err_log*.txt" -print -exec rm -f {} \;



4. 파일 사이즈가 1MB 이상인 파일 삭제(KB로 입력)
find /home/tour/log -size +1024k -print -exec rm -f {} \;




TIP) find 문법 : find [경로] [수식]