본문 바로가기
Linux

[Linux] 날짜 기준으로 파일을 삭제하자

by 세에레_freewing 2024. 1. 31.
반응형

N일전

  • find 명령어에 -mtime +일수 옵션을 주면 되는데... 생각한 일수보다 1 적게 주어야 함
  • 예를 들어 3일 초과한 파일을 삭제하려면 -mtime +2
find 폴더 -name 파일명 -mtime +일수 -delete
find 폴더 -name 파일명 -mtime +일수 -exec rm -f {} \;
find 폴더 -name 파일명 -mtime +일수 -exec rm -f {} \;

실행예시

매일 04시 백업파일을 보관하는 폴더 /backup/ 에서 3일이 초과한 파일들을 삭제해보자

root@asdfqwer:~# find /backup/ -name '*.tgz' | sort
/backup/2024-01-14_0400.asdf.file.tgz
/backup/2024-01-15_0400.asdf.file.tgz
/backup/2024-01-16_0400.asdf.file.tgz
/backup/2024-01-17_0400.asdf.file.tgz
/backup/2024-01-18_0400.asdf.file.tgz
/backup/2024-01-19_0400.asdf.file.tgz
/backup/2024-01-20_0400.asdf.file.tgz

→ 7개 파일( 14~20일 )이 있음

→ 이중 3일치(18, 19, 20일분)는 그대로 두고 나머지를 삭제하고자 한다.

 

root@asdfqwer:~# find /backup/ -name '*.tgz' -mtime +2
/backup/2024-01-14_0400.asdf.file.tgz
/backup/2024-01-15_0400.asdf.file.tgz
/backup/2024-01-16_0400.asdf.file.tgz
/backup/2024-01-17_0400.asdf.file.tgz

 

→ 삭제대상은 4개 파일( 14~17일 )

 

root@asdfqwer:~# find /backup/ -name '*.tgz' -mtime +2 -delete
root@asdfqwer:~# find /backup/ -name '*.tgz'
/backup/2024-01-18_0400.asdf.file.tgz
/backup/2024-01-19_0400.asdf.file.tgz
/backup/2024-01-20_0400.asdf.file.tgz

 

 

 

 

반응형