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

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

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

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

我收到以下错误:

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

请帮忙,我不知道哪里出了问题。

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

Percent-signs (%) in the command, unless escaped with backslash \, will be changed into newline characters, and all data after the first % will be sent to the command as standard input.

还使用 Command Substitution 语法作为 $() 而不是旧的 `` 语法

您可以将命令更改为类似

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