X日間に訪問していないディレクトリを削除する

X日間に訪問していないディレクトリを削除する

私は音楽をダウンロードしてキャッシュするためのいくつかのスクリプトを書いており、X日間アクセスされなかったキャッシュの場所のディレクトリを削除したいと思います。次の方法でこれを行うことができます。

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

ただし、これにより、残りのすべてのディレクトリのアクセス時間がすぐに現在に設定されるため、これは非常に望ましくありません。どうですか?

PS:私は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

おすすめ記事