问题
I created a new task in crontab as shown below :
*/2 * * * * mongodump --db prodys --out /backup/databases/mongoDatabases/`date +"%m-%d-%y"`
I'm getting following error :
/bin/sh: 1: Syntax error: EOF in backquote substitution
Please help, I don't have any clue whats wrong.
回答1:
The problem is that cron
treats %
as newlines. From crontab POSIX man
page:
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.
Also use Command Substitution syntax as $()
over the legacy `` syntax as
You could change your command to something like,
*/2 * * * * mongodump --db prodys --out /backup/databases/mongoDatabases/$(date +'\%m-\%d-\%y')
来源:https://stackoverflow.com/questions/42241371/bin-sh-1-syntax-error-eof-in-backquote-substitution