在命令行中,我能够做到
cp htlog.out test.$(date '+%m%d%Y')
但是当我尝试像这样crontab时:
37 17 * * 1-5 cd the/dir && cp htlog.out test.$(date "+%m%d%Y")
来自CRON DAEMON的以下消息失败:
/bin/sh: -c: line 0: unexpected EOF while looking for matching `"'
/bin/sh: -c: line 1: syntax error: unexpected end of file
我在命令后确实有终点线。这个crontab条目有什么问题?
答案 0 :(得分:3)
%
中的{p> crontab
具有特殊含义,应该反斜杠,所以:
37 17 * * 1-5 cd the/dir && cp htlog.out test.$(date "+\%m\%d\%Y")
来自man 5 crontab
:
命令中的“%”字符,除非使用反斜杠进行转义 *(),将更改为换行符,并且第一个%之后的所有数据将作为标准输入发送到命令。