/ bin / sh:1:语法错误:反引号替换中的EOF

时间:2017-02-15 05:29:30

标签: bash cron ubuntu-14.04 crontab

我在crontab中创建了一个新任务,如下所示:

*/2 * * * *       mongodump --db prodys --out /backup/databases/mongoDatabases/`date +"%m-%d-%y"`

我收到了以下错误:

/bin/sh: 1: Syntax error: EOF in backquote substitution

请帮助,我没有任何错误。

1 个答案:

答案 0 :(得分:14)

问题在于cron%视为换行符。来自crontab POSIX man页面:

  

命令中的百分号(%),除非使用反斜杠\进行转义,   将更改为换行符,并在第一个%之后的所有数据   作为标准输入发送到命令。

同样使用Command Substitution语法作为$()而不是遗留的``语法

您可以将命令更改为

*/2 * * * *       mongodump --db prodys --out /backup/databases/mongoDatabases/$(date +'\%m-\%d-\%y')