2017-02-15 27 views
8

Я создал новую задачу в кронтабе, как показано ниже:/бен/ш: 1: Синтаксическая ошибка: EOF в замещении кавычки

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

Я получаю следующее сообщение об ошибке:

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

Пожалуйста Помогите, я не знаю, что случилось.

ответ

7

Проблема в том, что 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') 
+0

Спасибо! @Inian, это была моя проблема. – ShahNewazKhan

+0

Спасибо, это очень помогает! –