当前位置: 首页 > 面试题库 >

在bash文件中运行docker命令并使用crontab运行

蒋招
2023-03-14
问题内容
#!/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容器无效。


问题答案:

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

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


 类似资料:
  • 问题内容: 我在txt文件中有一些命令,我​​需要逐行执行所有命令。我该怎么办? 问题答案: 只要做: 如果别名只是运行 无需担心文件扩展名或执行权限。

  • 我有下面的课。它允许我通过java执行命令。 当我运行命令时,上一个命令的结果没有保存。例如: 给出输出: 为什么第二个“ls”命令不显示“bin”目录的内容?

  • 问题内容: 如果我在每行上都有一个带有单独命令的文本文件,我将如何使终端将每行作为命令运行?我只是不想一次复制和粘贴1行。它不必是文本文件,而可以是任何可以使用的文件。 : 问题答案: 您可以使用这些命令创建一个shell脚本,然后创建,然后通过运行 编写bash脚本非常简单 样机sh文件:

  • 问题内容: 我运行一个包含此行的python脚本 然后,我在服务器上运行相同的代码,并收到以下错误消息 因此,我要做的就是print bashCommand在运行之前,在终端中插入一个比命令更清晰的信息os.system()。 当然,我再次收到错误(由引起os.system(bashCommand)),但是在该错误出现之前,它会在终端中打印命令。然后我只是复制了输出,然后将复制粘贴到终端中,然后按

  • 问题内容: 有没有办法从Python运行BASH内置命令? 我试过了: 及其许多变化。我想跑步还是。 问题答案: 我终于找到了可行的解决方案。 谢谢大家的投入。

  • 我有这个命令来编译我的程序。 我创建了以下makefile。 如果从terminal运行该命令将成功,但make将失败。 它将失败,并出现错误 该文件应该在命令中使用导入。 我认为Makefile中的命令执行起来很像bash脚本。 在bash中运行命令和在Makefile中运行命令有什么区别?