5日以上経過したファイルを削除するCRONTABジョブのパイプラインコマンド出力[閉じる]

5日以上経過したファイルを削除するCRONTABジョブのパイプラインコマンド出力[閉じる]

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

おすすめ記事