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



nice!(1)  コメント(2)  トラックバック(0) 

nice! 1

コメント 2

fetarodc

2&>1 ではなく 2>&1 ですね
by fetarodc (2012-09-23 18:38) 

ちょなそ

大変失礼しました。
ご指摘の通りです。

記述を修正しました。
ご指摘ありがとうございます。
by ちょなそ (2012-09-23 18:48) 

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

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

この広告は180日新規投稿のないブログに表示されます