X일 동안 방문하지 않은 디렉토리 삭제

X일 동안 방문하지 않은 디렉토리 삭제

나는 음악을 다운로드하고 캐싱하기 위한 몇 가지 스크립트를 작성했으며 X일 동안 액세스되지 않은 캐시 위치의 디렉터리를 삭제하고 싶습니다. 다음을 통해 이 작업을 수행할 수 있습니다.

 gfind "$music_dir" -mindepth 1 -type d -atime +90 -print -delete

그러나 이렇게 하면 나머지 모든 디렉터리의 액세스 시간이 즉시 지금으로 설정되므로 매우 바람직하지 않습니다. 어떡해?

추신: 저는 macOS를 사용하고 있지만 크로스 플랫폼(Unixy) 솔루션을 선호합니다.

답변1

다음을 사용하여 chflags(또는 운영 체제에 따라) chattr디렉터리를 변경할 수 없게 만듭니다 .

sudo chflags -R uimmutable "$music_dir"
gfind "$music_dir" -mindepth 1 -type d -atime +90 -print > 'delete_list.txt'
sudo chflags -R nouimmutable "$music_dir"
cat 'delete_list.txt' | xargs rm -rf

관련 정보