Crontab无法正常工作

我有一个脚本/根/重新启动容器名称

#!/bin/bash /usr/bin/docker restart container_name 2>/dev/null /usr/bin/docker exec -ti container_name /path/launcher.sh 2>/dev/null 

没有cron它的作品。 在crontab中只能工作第一个命令。 第二个不起作用。

权限700和归根

我将stderrredirect到文件/tmp/container_name.log中。 错误是

 the input device is not a TTY 

你看到的错误信息已经试图解释什么是错的。 正如你指定的-t执行命令,它会尝试分配一个TTY。 从cron运行时,没有可用的伪TTY,因此失败。

尝试将您的脚本更改为:

 #!/bin/bash /usr/bin/docker restart container_name 2>/dev/null /usr/bin/docker exec -i container_name /path/launcher.sh 2>/dev/null 

仅供参考:这里有关于cron和TTY的很多问题。 举个例子,这个问题很好地解释了这个问题: “c:stdin:不是tty”