我有一个简单的shell脚本来运行下面的docker命令,如果我手动运行它就可以正常工作。然而,如果我通过cron运行它就不起作用了。我没有看到/var/log/cron
的任何登录…我通过创建一个简单的脚本来触摸一个文件来测试cron,它运行得很好。Cron不能与docker一起工作?
cat start.sh
#!/bin/bash
docker run --shm-size 2g --rm --net sitespeedio_default
-v "$(pwd):/sitespeed.io" sitespeedio/sitespeed.io:24.6.0
--pageCompleteWaitTime 30000
lex-login.js lex-view_call_call_only.js -n 1
--influxdb.host influxdb
--influxdb.username $INFLUX_U
--influxdb.password $INFLUX_P --spa --multi
crontab -l
2 * * * * /home/ec2-user/start.sh >/dev/null 2>&1
将crontab
内容更新为:
2 * * * * /bin/bash /home/ec2-user/start.sh >/dev/null 2>&1
然后,确保crontab
的用户具有运行该脚本的权限。