30日以上経過したファイルの検索と削除

30日以上経過したファイルの検索と削除

30日を過ぎたユーザーファイルを削除したいと思います。以下のbashスクリプトはうまく動作します。しかし、独自のエコーがあるので、出力に表示されている「対応するファイルまたはディレクトリなし」エラーを取り除きたいと思います。誰でも助けることができますか?

パスワード:

if [[ $(find /h/$USER/*.txt -mtime +30) ]]
then
    find /h/$USER/*.txt -mtime +30 -print -exec rm -f {} \;
else
    echo "No txt files to del"
fi

出力:

find: stat() error /h/username/*.txt: No such file or directory
No text files to del

ベストアンサー1

これが私のやり方です。毎晩整理したい複数のディレクトリで実行することです。

find /h/$USER -maxdepth 1 -name "*.txt" -type f -mtime +30 -delete

これが最善なのか最悪なのかは言えませんが、何年も問題なく実行されてきました。

おすすめ記事