2017-02-23 192 views
0

我有一个脚本/根/重启容器名称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和根

拥有我重定向标准错误到文件/tmp/container_name.log。错误是

the input device is not a TTY 

回答

0

您看到的错误消息已经尝试解释什么是错误的。如您对执行命令指定-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 

FYI:有关于cron和TTY这里很多问题。例如,这个问题很好地解释了这个问题:"stdin: is not a tty" from cronjob