Tar crontab 不工作,而命令可以自行工作

Tar crontab 不工作,而命令可以自行工作

我有这个 crontab

* * * * * tar -czf /backup/$(date +%F--%T)-localusers.tgz /vagrant

这是行不通的。但如果我这样做

tar -czf /backup/$(date +%F--%T)-localusers.tgz /vagrant/

有用。

有人知道发生了什么事吗?不过我确实不断收到一封邮件:

N 10 (Cron Daemon) Thu Aug 23 10:43 28/1130 "Cron <root@localhost> tar -czf"

答案1

您的问题可能是因为 cron 对百分号的特殊处理:

该行的整个命令部分(直到换行符或 % 字符)将由 `/bin/sh 或 crontab 文件的 SHELL 变量中指定的 shell 执行。命令中的百分号 (%),除非用反斜杠 () 转义,否则将被更改为换行符,并且第一个 % 之后的所有数据都将作为标准输入发送到命令。

所以你需要逃避它们:

* * * * * tar -czf /backup/$(date +\%F--\%T)-localusers.tgz /vagrant

相关内容