Crontab 不解析 "date" 命令

Crontab doesn't parse "date" command

我正在尝试在 crontab 上安排此命令

00-59/1 * * * * s3cmd put $HOME/www/database.db s3://Solenoide/`date +%Y-%m-%d_%H-%M-%S`.db

它是使用 s3cmd 到 AWS S3 的备份。该命令在终端(Ubuntu 14.04 和 Raspbian)上执行时运行良好,但如果我在 crontab 上安排它则不起作用。 "date" 部分似乎是原因,因为我用常量名称对其进行了测试并且它有效。

我应该怎么做才能让 crontab 执行这个?

我使用这个 post:

的部分答案弄明白了

https://serverfault.com/questions/339814/how-do-you-set-a-date-variable-to-use-in-a-log-for-crontab-output

事实证明,crontab 无法正确解析为命令。在我的例子中,我需要 在 % 之前添加一个反斜杠,这样它才能正确理解命令。 crontab 上的最终计划如下所示:

00-59/1 * * * * s3cmd put $HOME/www/database.db s3://Solenoide/`date +\%Y-\%m-\%d_\%H-\%M-\%S`.db