通过 cronjob 发送带有附件的电子邮件时出错,但在 bash 中有效

Ale*_*lex 0 cron

我有一个奇怪的问题。我使用以下命令行通过控制台发送带有附件的电子邮件:

/usr/bin/mutt -s "AwStats $(date +%d.%m.%Y)" -a /path/to/file myemail@gmail.com < /dev/null
Run Code Online (Sandbox Code Playgroud)

奇迹般有效。

但我希望它通过 cron 发送,所以我创建了这个 cronjob:

@daily root /usr/bin/mutt -s "AwStats $(date +%d.%m.%Y)" -a /path/to/file myemail@gmail.com < /dev/null 
Run Code Online (Sandbox Code Playgroud)

cronjob 确实被执行,但失败并显示以下错误消息:

/bin/sh: -c: line 0: unexpected EOF while looking for matching `)'
/bin/sh: -c: line 1: syntax error: unexpected end of file
Run Code Online (Sandbox Code Playgroud)

我不知道为什么。有人可以帮忙吗?非常感谢您!

亲切的问候-A

use*_*517 5

在 crontab 中,您需要%使用\so来逃避

@daily root /usr/bin/mutt -s "AwStats $(date +\%d.\%m.\%Y)" -a /path/to/file myemail@gmail.com < /dev/null
Run Code Online (Sandbox Code Playgroud)

可能会为您解决问题。