我有一个奇怪的问题。 我使用以下命令行通过控制台发送带有附件的电子邮件:
/usr/bin/mutt -s "AwStats $(date +%d.%m.%Y)" -a /path/to/file [email protected] < /dev/null
奇迹般有效。
但我想通过cron发送,所以我创build了这个cronjob:
@daily root /usr/bin/mutt -s "AwStats $(date +%d.%m.%Y)" -a /path/to/file [email protected] < /dev/null
cronjob确实得到执行,但失败并显示以下错误消息:
/bin/sh: -c: line 0: unexpected EOF while looking for matching `)' /bin/sh: -c: line 1: syntax error: unexpected end of file
我不知道为什么。 任何人都可以帮忙吗? 非常感谢你提前!
亲切的问候
在crontab中你需要用\ so来转义%
@daily root /usr/bin/mutt -s "AwStats $(date +\%d.\%m.\%Y)" -a /path/to/file [email protected] < /dev/null
可能会为您解决问题。
除了Iain的回答,因为cron不是bash,你可能也需要改变
$(date +\%d.\%m.\%Y)
成为
`date +\%d.\%m.\%Y`
或者,您可以将所有原始作业放在bash脚本中,然后调用脚本。