古いファイル削除スクリプト

古いファイル削除スクリプト

私は次のスクリプトを使用しました。

#!/bin/sh

for file in "$( find /var/backup/web2 -type f -mtime +1 -maxdepth 1 -exec rm -f {} \; )"
do
  rm -f $file
done

exit 0

固定ディレクトリから24時間以上経過したファイルを削除します。スクリプトの動作が停止し、エラーが発生しました。

find:警告:オプションではなく引数-typeの後に-maxlengthオプションを指定しましたが、オプションは位置指定ではありません。他のパラメーターの前にオプションを指定してください。

指定された仕様に従ってコマンドを修正した後、スクリプトでエラーが発生しなくなりましたが、機能しませんでした(以前のファイルはまだ残っています)。タスクスクリプトが失敗する原因と解決策のアイデアはありますか?

ベストアンサー1

forスクリプト内のループの目的は何であるかわからず、必要もなく、何もしません。以下は期待どおりに機能します。

find /var/backup/web2 -maxdepth 1 -type f -mtime +1 -delete

おすすめ記事