crontab 无法在容器环境中直接执行脚本
Crontab can't execute script directly in container environment
我向您展示了以下困境 我手动执行我的脚本并且运行良好,例如参见下一行:
docker exec -ti backup_subversion sh -c "/tmp/my_script.sh"
但是当我尝试安排流程时,这一行被跳过了。
- 我尝试只执行触摸命令,但它也被忽略了。
- 我试过以 root 身份执行,同样的问题。
- 我试过在另一个docker环境中执行:同样的问题。
我的 OS 是 Centos 7.
在这个脚本中,例如会崩溃的 bug 部分:
#!/bin/bash
# Create a container.
docker run -d --name=backup_subversion \
-v /subversion/dump:/var/dump \
--net my_network my_server.domaine.com/subversion/billy:1.9
# I copy a script.
docker cp tools_subversion_dump.sh backup_subversion:/tmp
# This line is ignore since crontab exec.
docker exec -ti backup_subversion sh -c "/tmp/tools_subversion_dump.sh"
提前感谢您的回答,因为这对我来说是个谜。
这可能是因为您使用了仅适用于交互式 shell 的 -it
选项,而不是像问题中引用的脚本中使用的伪选项
我向您展示了以下困境 我手动执行我的脚本并且运行良好,例如参见下一行:
docker exec -ti backup_subversion sh -c "/tmp/my_script.sh"
但是当我尝试安排流程时,这一行被跳过了。
- 我尝试只执行触摸命令,但它也被忽略了。
- 我试过以 root 身份执行,同样的问题。
- 我试过在另一个docker环境中执行:同样的问题。
我的 OS 是 Centos 7.
在这个脚本中,例如会崩溃的 bug 部分:
#!/bin/bash
# Create a container.
docker run -d --name=backup_subversion \
-v /subversion/dump:/var/dump \
--net my_network my_server.domaine.com/subversion/billy:1.9
# I copy a script.
docker cp tools_subversion_dump.sh backup_subversion:/tmp
# This line is ignore since crontab exec.
docker exec -ti backup_subversion sh -c "/tmp/tools_subversion_dump.sh"
提前感谢您的回答,因为这对我来说是个谜。
这可能是因为您使用了仅适用于交互式 shell 的 -it
选项,而不是像问题中引用的脚本中使用的伪选项