【发布时间】:2017-08-08 20:58:53
【问题描述】:
我每天都在尝试使用 cron 作业运行 Docker 容器。
* * * * * /Desktop/cron1.sh
这是我的 cron1.sh 文件:
#!/bin/sh
mkdir /home/tomato/bizzz #working
cd bizzz #not working
docker-compose up #not working
【问题讨论】:
-
即使在
cron之外运行脚本也会失败吗? -
尝试将
-d添加到docker-compose命令?我不确定您是否可以从 cron 开始(无需分离),那里没有可附加的终端。 cron 是否通过电子邮件向您发送任何错误输出? -
如果你不能
cd bizzz,但你可以mkdir /home/tomato/bizzz,那么显然你当前的工作目录不是/home/tomato。使用 cron 时要记住的关键事项之一是不要假设您的环境 - 不是您的 PATH,不是您的工作目录等。 -
无论如何 --
exec 2>/tmp/log; set -x在您的脚本中,您将在/tmp/log登录,这应该可以说明正在发生的事情。 -
(顺便说一句,在未来,不要仅仅将某事描述为“工作”或“不工作”,而是你如何知道某事是否工作。例如:您如何确定
cd不起作用?如果您遇到错误,这可能是一个有用的线索,应该包含在您的问题中)
标签: bash docker cron docker-compose crontab