Crontab中的变量亚马逊Linux

问题描述:

无法获得带有在Amazon Linux上工作的变量的crontabs。这很奇怪,因为这些变量在系统的命令行中工作,但不会在cronjob内部工作。我知道变量是问题,因为当我从--args中删除零件时,将会执行cronjob,直到>Crontab中的变量亚马逊Linux

运行良好在Ubuntu:

0 7 * * * /usr/bin/python /path/to/cronjob.py --method all --args $(date -d "1 day ago" +%Y%m%d),$(date +%Y%m%d) > /dev/null 2>&1 

也试过:

47 16 * * * python /path/to/cronjob.py --method all --args `date -d "1 day ago" +%Y%m%d`,`date +%Y%m%d` > /dev/null 2>&1 
+0

你在'/ var/log/cron'中查找错误信息了吗? –

+1

这不是一个python/AWS问题; [这里是关于serverfault的答案+解释](https://serverfault.com/questions/84430/whats-wrong-with-my-cronjob-syntax-im-trying-to-use-a-backtick)。 – tedder42

+0

非常感谢@ tedder42,%之前的反斜杠解决了问题。 –

@ tedder42解决方案为我工作,我只需要在%前添加反斜线:

47 16 * * * python /path/to/cronjob.py --method all --args `date -d "1 day ago" +\%Y\%m\%d`,`date +\%Y\%m\%d` > /dev/null 2>&1