我定义了以下cron作业。
55 8 * * 3 /usr/bin/php /home/mark/dev/processes/customClient/events.php > /home/mark/dev/processes/customClient/events-`date +%Y-%m-%d --date='last Wednesday'`-`date +%Y-%m-%d`.csv
0 9 * * 3 /usr/bin/echo 'The csv for last week, trying my hand at automatiging this' | /usr/bin/mutt <emailaddress> -s 'Events from `date +%Y-%m-%d --date='last Wednesday'`-`date +%Y-%m-%d`' -a '/home/mark/dev/processes/customClient/events-`date +%Y-%m-%d --date='last Wednesday'`-`date +%Y-%m-%d`.csv'
如果直接从命令行运行上面的命令,它似乎可以正常工作。但是,当我今天早上检查脚本的运行时,我收到一封电子邮件,指出(我的措辞是因为我不小心删除了它们),后面的刻度线未正确关闭。
您肯定想检查一下我的问题。它有Stephane Chazelas的答案,解释了如何创建与cron作业将看到的环境相同的交互式shell。如果您按照他的小程序进行操作,则会得到提示,并且可以逐步测试cronjob并查看失败的地方。unix.stackexchange.com/a/56503/16841当然,这不是您所提问题的100%匹配项,但可以帮助您解决crontab问题。
—
jippie 2012年
/bin/sh: 1: Syntax error: EOF in backquote substitution
对于第一个cron工作。/bin/sh: 1: Syntax error: Unterminated quoted string
对于第二个cron工作。