事象
crontabにてdate '+%Y%m%d%H%M'
を実行するも以下のエラーで失敗する。
$ cronevents ... /usr/sbin/cron: PID 2415: (...) CMD (date '+) /usr/sbin/cron: PID 2414: (...) UNSAFE XX ...
環境情報
- ISC Cron V4.1
原因/解決策
%が文字列として認識されていない。よってエスケープ文字(\)を頭に入れて以下のようにすれば
date '+\%Y\%m\%d\%H\%M'
正しく実行される。以下、補足です。
補足
イベントログを見れば、「CMD date '」というシングルクオーテーションで止まっているため、パーセントが読み込めていないことが原因ということが分かります。
解決策に記載した通りエスケープ処理を行えば、以下のように正しくコマンドが展開されて実行できていました。
[XX] /usr/sbin/cron: PID 2422: (XX) CMD (date '+%Y%m%d%H%M')
以上、ご参考になれば幸いです。