【问题标题】:docker exec command not working when called from batch file, that is called through a cron job从批处理文件调用时,docker exec 命令不起作用,即通过 cron 作业调用
【发布时间】:2022-10-24 06:26:50
【问题描述】:

我正在尝试通过每晚运行一个调用 backup.sh 脚本的 cronjob 来创建我的 pihole Docker 容器的 Teleporter 备份。

如果我手动执行此操作,则通过发出以下命令可以正常工作。它将传送器信息放在我的 docker 容器中的 /backup 文件夹中。这允许我将文件复制到不同的文件共享:

docker exec -it -w /backup pihole sh -c "pihole -a -t"

如果我通过在 bash 脚本中运行相同的命令来运行它,它也可以正常工作。

但是,当我通过 cron 作业调用该 bash 脚本时,不会执行此特定命令。我可以看到这一点,因为夜间运行后不存在 pi-hole-0423585190c3-teleporter_.tar.gz 文件,而且我的日志文件也没有显示该文件。 backup.sh 脚本中的所有其他备份作业都可以正常工作。

有什么想法吗 ?

【问题讨论】:

标签: docker cron


【解决方案1】:

answer from another question 中找到了答案。

您的 docker exec 命令说它需要“伪终端并以交互模式运行”(-it 标志),而 cron 不附加到任何 TTY。

删除了“-it”,现在可以使用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-28
    • 2011-06-07
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-03
    相关资源
    最近更新 更多