cronでハマった
昨晩、サーバのcron.dにコマンドを仕込んで帰ってたら、翌朝に出社して動いてなくてショック。そんな覚え書き。
# cat /etc/cron.d/ls_chk 0 0-23/6 * * * root /bin/ls />/tmp/`date '+%Y%m%d%H%M'`
うまくできない。。。
# cat /var/log/cron (root) CMD (/bin/ls>/tmp/`date '+)
あれ?コマンド途中で千切れてる、、、?
cronは、%は誤認識するらしい。
crontabでは'%'をエスケープしなきゃいけない - 駄日記
こちらが正解でした。
# cat /etc/cron.d/ls_chk 0 0-23/6 * * * root /bin/ls>/tmp/`date '+\%Y\%m\%d\%H\%M'`
それにしても、dateコマンドの引数ってよく忘れる。精進しないと。
2015/6/4 追記)
上記の正解で記載しているcronにエスケープ処理が入ってませんでした。