jer*_*iuh 2 unix cron command-line
这个命令:
/usr/bin/mysqldump --add-drop-table -u myuser -pmypass mydb > "/home/myuser/dbBackups/"`date +%Y%m%d`".sql"
Run Code Online (Sandbox Code Playgroud)
从命令行工作正常但是当cron运行它我得到
/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)
该命令全部在crontab中的一行上,所以我对第0行和第1行引用感到困惑......
谁能告诉我我在那里做错了什么?
这是一个明显的愚蠢问题,但你在crontab(crontab -l)中有匹配的反引号吗?
第一行,第零行的东西不是指crontab中的行,而是指单行脚本中的"行".
更新:
啊,我想我已经明白了.这是来自crontab(5):
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.
Run Code Online (Sandbox Code Playgroud)
因此,日期规范中的百分比字符被解释为换行符,这意味着反引号不会在换行符之前终止,这会产生错误消息.
所以逃避百分比字符.我忘记了关于crontab ....