답변:
사용하는 find
것이 여전히 파일을 삭제하는 기본 방법입니다. 자세한 내용은 http://mywiki.wooledge.org/UsingFind 를 참조 하십시오 .
이를 수행하는 한 가지 방법은 타임 스탬프가있는 파일을 만드는 것입니다. 예 :
touch -t 201311220000 /tmp/timestamp
이제 find
타임 스탬프와 일치하는 GNU 파일 (현재 디렉토리에 있다고 가정)을 삭제하십시오 . 예 :
find . -type f ! -newer /tmp/timestamp -delete
또는 GNU 이외의 찾기
find . -type f ! -newer /tmp/timestamp -exec rm {} \;
type -f
는 작업을 파일로만 제한 하기 때문 입니다.
find /path/to/directory/ -mtime +<number of days> -name '<file name>' -exec rm -rf {} \;
예:
find /Netap_fileshare_backup/SQL/DB_backups/xeo/ -mtime +15 -name 'ORA_XEO*' -exec rm -rf {} \;
이 경우 15 일 이상 "ORA_XEO"로 시작하는 모든 파일이 제거됩니다.
rm -rf
첫 번째 명령은 15 일보다 오래된 디렉토리에 포함 된 모든 것을 제거합니다. (또한, 왜 괄호 안에 -name
?)
example.jar
-제거 될 것입니다-제거 될 것입니다 example.cp
-제거 example.tar
되지 않을 것입니다
find /path/to/directory/ -mtime +<number of days> \( -name '*.jar' -o -name '*.cp' \) -name 'ex*' -exec rm -rf {} \;
find
-daystart
-mtime