CRONTABジョブを実行して、フォルダから5日以上経過したファイルを削除したいと思います。エラーを防ぐために、コマンド出力をファイルに転送します。。
コマンドラインから実行すると、このコマンドはファイルを削除します。
/usr/bin/find /mnt/SQL_Backups/* -mtime +5 -exec rm {} \;
しかし、stdoutパイプとstderrパイプを取得するために追加すると失敗します。
/usr/bin/find /mnt/SQL_Backups/* -mtime +5 -exec rm {} \; > /mnt/output/CRONDeleteFiles.txt 2>$1
コマンドラインでエラーは次のとおりです。
-bash: $1: あいまいなリダイレクト
CRONTAB Eメールエラーメッセージでこのエラーが発生します。
/bin/sh: 1: 生成できません: ディレクトリが存在しません。
これが私のパイプラインコードに関連していると思われますか?
これを行う正しい方法は何ですか?
ベストアンサー1
stderrはあなたの例とは2>&1
異なり、stdoutにリダイレクトされます。2>$1