IT정보공유

Linux 특정기간이 지난 파일 찾기 & 삭제 명령어

알지오™ 2020. 7. 9.

리눅스에서 생성된지 오래된 파일을 삭제 하는 방법에 대해서 알아보도록 하겠습니다.
일반적으로 개발을 하시는 분들이라면 프로그램 로그 파일이 계속 해서 쌓이기 때문에
하드디스크 용량을 확보하는 차원에서 주기적으로 파일을 삭제해야합니다.

제 경우에는 리눅스를 FTP 서버로 사용하고 있는데
업로드 되는 파일들이 워낙에 많아서 업로드 된 이미지 파일을 삭제하는 데 사용하고 있습니다.

우선 오래된 파일을 찾는 방법을 알아보도록 하죠.

 

리눅스 파일검색 명령어 - find

 

리눅스 파일검색 명령어
리눅스 파일검색 명령어

 

find /mnt/ftpstorage/ftpdata/ -mtime +150 -name "*.jpg"

 

위 명령어는 find 명령어로 /mnt/ftpstorage/ftpdata/ 하위 디렉토리에 있는
생성된지 150일이 지난 파일 중에 파일확장자가 jpg 인 파일만 찾는 명령어 예제 입니다.

-mtime +150 : 파일이 수정된지 150일 이상이 된 파일을 찾는 옵션
-name "*.jpg" : 파일확장자가 jpg 인것만 찾는 옵션



find 명령어를 이용하여 150일이 경과한 jpg 파일 검색
find 명령어를 이용하여 150일이 경과한 jpg 파일 검색

 

이렇게 find 명령어의 옵션을 지정하여 원하는 파일만 찾을 수 있고 
-exec 옵션을 이용하여 찾은 파일만 삭제할 수 있습니다.

find /mnt/ftpstorage/ftpdata/ -mtime +150 -name "*.jpg" -exec rm -rf {} \;

 

-exec rm -rf {} \; : 파일삭제 명령어인 rm 을 실행시켜 찾은 파일을 삭제.

이 외에도 파일 검색 시
-size 옵션을 이용하여 특정크기 이상의 파일 검색이 가능합니다.


주기적으로 삭제가 필요할땐 어떻게 해야 할까요?
crontab (크론탭) 명령어를 이용하면 됩니다.

댓글

💲 추천 글