可能重复:
在cron中转义双引号和百分号(%)
我在cron中有以下命令:
5 6 * * * bash -c "tar -czf /backups/sites-server-files-rotate/sites_`date +%F`.tar.gz /backups/sites-server-files/"
但命令不会被执行。 我可以在cron日志中看到以下内容:
Apr 17 06:05:01 backup crond[9423]: (root) CMD (bash -c "tar -czf /backups/sites-server-files-rotate/sites_`date +)
好像%符号会在cron中删除命令。 为什么? 我必须逃脱吗? 如何?
是的,你必须逃避它。 反斜杠会做。
您也可以将该命令放在脚本中,然后调用脚本。
是的,你需要逃避它。 只需在每次出现%之前input\ backslash。
百分号表示crontab中的新行。
您可以使用脚本创build一个bash文件,然后将其添加到crontab。
例如:make file script.sh
#!/bin/bash tar -czf /backups/sites-server-files-rotate/sites_\`date +%F\`.tar.gz /backups/sites-server-files/
然后添加到cron:
5 6 * * * /dir/to/your/script.sh