cronのログを日付ごとに出す方法
バッチ用プログラムを書いた時に一々プログラム側でログの出力をするのが面倒って時に使えます。
ログの出力先に指定して、dateコマンドを使ってログファイルを出力します。
サンプルcron
0 0 * * * /bin/sh /root/batch.sh > /root/log/bat_`date +%Y%m%d`.log
ですが上記のままだとエラーに・・・
上記のままだと以下のエラーが出力されます。
/bin/sh: -c: line 0: unexpected EOF while looking for matching ``' /bin/sh: -c: line 1: syntax error: unexpected end of file
原因は「%」でした。
cronだと「%」はコマンドの終わりと解釈されるようです。
なのでシングルクォートが閉じられていない等のエラーが出ていました。
以下のように「バッククォート(\)」でエスケープすると正常に動作するようです。
0 0 * * * /bin/sh /root/batch.sh > /root/log/bat_`date +\%Y\%m\%d`.log
«前の記事:自作ツール「cron設定ツール」テキストエリアでタブを入力できるようにする:次の記事»