Crontab无法正常工作

时间:2017-02-23 06:14:38

标签: linux docker cron crontab

我有一个脚本/ root / restart-container-name

#!/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并由root拥有

我将stderr重定向到文件/tmp/container_name.log。错误是

the input device is not a TTY

1 个答案:

答案 0 :(得分:1)

您看到的错误消息已尝试解释错误。当您为exec命令指定-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的问题。例如,这个问题很好地解释了问题:"stdin: is not a tty" from cronjob