【发布时间】:2021-06-22 15:28:27
【问题描述】:
我需要使用 docker ps 自动验证活动容器,并使用 docker pull 发送容器更新。所以我创建了这个脚本文件:
if docker ps | grep "fairplay";then
echo "doker fairplay ok" >> /home/ubuntu/at2.log
else
echo "doker fairplay caido" >> /home/ubuntu/at2.log
errdock=1
fi
当我在终端上手动使用时,脚本可以正常工作,但是当我尝试使用 cron 时,它就不起作用了。
Crontab:
* * * * * root sh /home/ubuntu/at2.sh
我手动运行时的日志:
Thu Mar 25 13:33:43 -03 2021
doker fairplay ok
doker widevine ok
Thu Mar 25 13:33:44 -03 2021
使用 cron 运行时的日志:
Thu Mar 25 13:34:01 -03 2021
doker fairplay caido
doker widevine caido
Thu Mar 25 13:34:01 -03 2021
我不想在容器内运行任何东西,我需要在主机上的 cron 中运行命令,所以以下问题对question 1、question 2 没有帮助。
【问题讨论】:
-
我建议在 systemd 上创建一个
service,这样当它失败时,您可以告诉服务重新启动,并且您将获得实时日志。你试过吗?你想要那个还是想要在 crontab 中添加它? -
我还没有尝试过,但我看不出重新启动会有什么帮助,因为当它是发送命令的 cron 时,它们都失败了。我只需要知道为什么当它是发送命令的 crontab 时它不起作用。因为它与我在终端上发送的命令相同。
-
我创建了一个
service,它每 300 秒重复一次,它成功了!非常感谢!