Cron 在 % 符号后不执行命令

Cron 在 % 符号后不执行命令

可能重复:
在 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 +)

看起来%sign 会切断 cron 中的命令。为什么?我必须转义它吗?如何转义?

答案1

是的,你必须将其转义。反斜杠即可。

您也可以将命令放入脚本中并调用该脚本。

答案2

是的,你需要将其转义。只需\在每次出现 之前输入反斜杠即可%

百分比字符表示 crontab 中的新行。

答案3

您可以使用脚本创建一个 bash 文件,然后将其添加到 crontab。

例如:制作文件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

相关内容