8

下面的这个文件在 /etc/cron.d 中。Ubuntu 12.04 服务器顺便说一句。

zurmo_install_path="/var/www/zurmo"
zurmo_commands_path="$zurmo_install_path/app/protected/commands"

*/1 * * * * www-data cd /var/www/zurmo/app/protected/commands && ./zurmoc jobManager  super EmailArchiving >/dev/null 2>&1
*/1 * * * * www-data cd "$zurmo_commands_path" && ./zurmoc jobManager  super ProcessOutboundEmail >/dev/null 2>&1

第一个项目很好,第二个没有。一旦我将第二行更改为使用文字路径而不是变量,它就会很好地触发。然而,当我编写自己的测试 cron 作业来使用变量时,它们工作正常。这是一个真正的笨蛋!

4

2 回答 2

10

是的,这是 crontab 变量的限制。=符号右侧的字符串按字面意思解释...参见文档 ( man 5 crontab)

于 2013-10-24T21:08:28.183 回答
4

怎么回事?!事实证明,双嵌入变量是问题所在。为什么是这样?您可以使用以下 cron 脚本进行测试:

tmpdir="/tmp"
subdir="$tmpdir/subdir"

*/1 * * * * root echo $tmpdir $subdir >/tmp/cron.out

结果文件:

/tmp $tmpdir/subdir
于 2013-10-24T21:04:15.450 回答