注意してください:私は同様の質問をすべて読みました。cron、パス、環境変数などですが、私の特定の問題の解決策を提供するものは見つかりませんでした。
私はいくつかのMySQLダンプを作成し、次のように古いものを削除するスクリプトを持っています。
/usr/bin/find "/home/bkp/dbdump" -name "*.gz" -mtime +5 -delete
(上記のコマンドは、コメントからの提案により、元のコマンドから変更されています)
ただし、cronがこのスクリプトを実行しても、ファイルが削除されることはありません。cronユーザーはrootです。
デバッグに関する注意
コマンドが表示されているスクリプトを手動で実行すると、期待どおりにスクリプトが削除されます。
rootとしてコマンドラインから上記のfindコマンドを単独で実行すると、期待どおりに削除されます(-printを使用すると、期待どおりに5日より古いファイルのリストが返されます)。
また、ルートのcrontabに明示的なパスステートメントを追加しましたが
、何も変更されません。Cronはエラーを送信しません。パイプを使って検索操作をログファイルに送信すると、ログファイルは
空になるか、まったく作成されません。Ubuntuサーバー14.04.03 LTSを使用しています。
/usr/bin/find /home/bkp/dbdump/*.gz -mtime +5
cron
コマンドはシェルを介して実行され、シェルはワイルドカードを展開します。
cron
出力とエラーメッセージを電子メールで送信する必要があります。この仕事からそのようなメールを受け取りますか?