我如何使用crontab运行docker命令?

我创build了一个crontab

*/1 * * * * /Users/sam/Desktop/file.sh 

和file.sh的内容

 docker pull ---link of docker repo--- 

当我单独运行file.sh它工作正常,但是当我使用crontab调用时,图像不被拉动,任何人都面临相同的?

Cron使用不同于正常环境的命令执行命令,因此当它运行脚本时, PATH可能没有docker脚本。

试试这个:

 #!/bin/sh PATH=/usr/local/bin:/usr/local/sbin:~/bin:/usr/bin:/bin:/usr/sbin:/sbin docker pull ---link of docker repo--- 

可能有两个问题。 path(见上面的Pawel)和正在执行cron作业的用户。

1)你应该总是在你打算以cronsubprocess运行的命令中使用绝对path,或者重新定义PATHvariables

2)具有cron作业的用户(您用来修改crontab的用户)必须位于docker组中。