【问题标题】:Run docker command in bash file and run using crontab在 bash 文件中运行 docker 命令并使用 crontab 运行
【发布时间】:2018-07-14 22:54:09
【问题描述】:
#!/bin/bash

docker exec -ti erpnext sh -c "cd /home/frappe/frappe-bench/ &&
/usr/local/bin/bench backup"

echo 'Hello, world.' >foo.txt

以上代码是我的 bash 文件。 这里有两个命令

  1. 创建txt文件
  2. 执行 docker 容器

如果我运行这个命令

cd /home/arifur/workspace_python/erpdatabasebackup && bash backup_database.sh

在终端中然后它正在工作

但是当我在 crontab 中运行时

* * * * * cd /home/arifur/workspace_python/erpdatabasebackup && bash backup_database.sh

那么只有 txt 文件创建工作正常,但 docker 容器不工作。

【问题讨论】:

  • “不工作”怎么办? Docker 守护进程没有运行吗?您的cron 工作无法连接到它吗?或者您尝试exec 的图像没有运行?
  • cd /home/arifur/workspace_python/erpdatabasebackup && bash backup_database.sh 此命令在终端中运行。所以docker容器正在运行
  • 哪个用户运行这些 cronjob?
  • 不要重复问题中已经提到的内容,您能否回答仍然不清楚的内容?是的,它适用于终端。 如何crontab 失败?
  • @Cyrus,“Arifur”用户

标签: bash docker cron


【解决方案1】:

-ti 请求使用伪 tty 并以交互模式运行,但 cron 不附加到任何 TTY。尝试删除-ti

docker exec erpnext sh -c "cd /home/frappe/frappe-bench/ && /usr/local/bin/bench backup"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    • 1970-01-01
    • 2017-10-03
    • 2017-07-10
    • 1970-01-01
    • 2013-02-04
    相关资源
    最近更新 更多