So-net無料ブログ作成
検索選択

crontabの記述でdateコマンドを使う場合の注意 [UN*X]

軽くハマったのでメモ。

crontabで定期的にコマンドを実行したときに出力されたものをログとして書き出すときに、ファイル名のサフィックスとして日時をつけることで簡易ログローテーションさせたいというケースがある。

だが、以下の記述はうまくいかない。
0 0 * * * /usr/local/bin/hogehoge > /var/log/hoge/log.`date +%Y%m%d` 2>&1

これは%がcrontabでは特別な意味を持つ文字だからだ。
詳しくはman 5 crontabで。

%はバックスラッシュでエスケープすることで記述することができる。
0 0 * * * /usr/local/bin/hogehoge > /var/log/hoge/log.`date +\%Y\%m\%d` 2>&1



この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。

×

この広告は1年以上新しい記事の更新がないブログに表示されております。