~/Downloads에서 오래된 파일을 자동으로 삭제하고 싶습니다. 이름에 '!'가 포함된 경우는 제외됩니다. 내 현재 버전은 다음과 같습니다.
find /home/user/Downloads/ -mtime +90 ! -path '*!*' -delete
다음과 같이 테스트할 때*:
find /home/user/Downloads/ -depth -mtime +90 ! -path '*!*' -print
결과 :
/home/user/Downloads/old.file
/home/user/Downloads
/home/user/Downloads
아직 포함된 내 디렉토리를 삭제하고 싶지 않습니다.!protected.old.file
나는 그것이 anacron에서 실행되기를 원하므로 globbing을 사용하는 것이 좋은 생각인지 확실하지 않습니다.
*참고, 이는 -depth
암시적입니다 -delete
.
답변1
특정 경로 를 find
삭제로부터 보호하려면 를 사용하세요 -mindepth 1
. rmdir
파일을 삭제하면 포함된 디렉터리의 액세스 및 수정 시간이 변경되므로 이전 디렉터리의 파일이 삭제되면 테스트가 무효화됩니다. 따라서 두 번째 실행 시 빈 디렉터리를 삭제하는 것이 성공할 가능성이 더 높습니다.