노하우 정리
리눅스 날짜 기준으로 파일 삭제하기 본문
1 방법 1: 며칠 전[편집]
- 리눅스 n일전 파일 삭제 문서를 참고하십시오.
- find 명령어에
-mtime +일수
옵션을 주면 되는데... 생각한 일수보다 1 적게 주어야 함 - 예를 들어 3일 초과한 파일을 삭제하려면
-mtime +2
find 폴더 -name 파일명 -mtime +일수 -delete
find 폴더 -name 파일명 -mtime +일수 -exec rm -f {} \;
find 폴더 -name 파일명 -mtime +일수 | xargs rm -f
1.1 실행예시[편집]
- 매일 04시 백업파일을 보관하는 폴더 /backup/ 에서 3일이 초과한 파일들을 삭제해보자.[1]
root@zetadb:~# find /backup/ -name '*.tgz' | sort
/backup/2016-04-24_0400.zetadb.file.tgz
/backup/2016-04-25_0400.zetadb.file.tgz
/backup/2016-04-26_0400.zetadb.file.tgz
/backup/2016-04-27_0400.zetadb.file.tgz
/backup/2016-04-28_0400.zetadb.file.tgz
/backup/2016-04-29_0400.zetadb.file.tgz
/backup/2016-04-30_0400.zetadb.file.tgz
- → 7개 파일( 24~30일 )이 있음
- → 이중 3일치(28, 29, 30일분)는 그대로 두고 나머지를 삭제하고자 한다.
root@zetadb:~# find /backup/ -name '*.tgz' -mtime +2
/backup/2016-04-25_0400.zetadb.file.tgz
/backup/2016-04-27_0400.zetadb.file.tgz
/backup/2016-04-26_0400.zetadb.file.tgz
/backup/2016-04-24_0400.zetadb.file.tgz
- → 삭제대상은 4개 파일( 24~27일 )
root@zetadb:~# find /backup/ -name '*.tgz' -mtime +2 -delete
root@zetadb:~# find /backup/ -name '*.tgz'
/backup/2016-04-28_0400.zetadb.file.tgz
/backup/2016-04-29_0400.zetadb.file.tgz
/backup/2016-04-30_0400.zetadb.file.tgz
2 방법 2: 특정월[편집]
- 2011년 8월 기준 예시
- 대상 파일들 확인
ll --time-style full-iso | awk '{print $6" "$9}' | grep 2011-08
- 대상 파일들 삭제
ll --time-style full-iso | awk '{print $6" "$9}' | grep 2011-08 | awk '{print $2}' | xargs rm -f
3 같이 보기[편집]
'System > Tip' 카테고리의 다른 글
리눅스 n일전 파일 삭제 (0) | 2018.11.08 |
---|
Comments