Crontab 无法正常工作
Crontab does not work properly
我有脚本/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
您看到的错误消息已经在尝试解释问题所在。当您向 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
我有脚本/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
您看到的错误消息已经在尝试解释问题所在。当您向 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