首页 > 解决方案 > crontab 无法在容器环境中直接执行脚本

问题描述

我向您展示了以下困境,我手动执行了我的脚本并且效果很好,例如,请参见下一行:

docker exec -ti backup_subversion sh -c "/tmp/my_script.sh"

但是当我试图安排这个过程时,这一行就被跳过了。

我的操作系统是 Centos 7。

在此脚本中,例如将崩溃的错误部分:

#!/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"

提前感谢您的回答,因为这对我来说是个谜。

标签: bashdockercron

解决方案


这可能是因为您使用了-it仅适用于交互式外壳的选项,而不是像问题中引用的脚本中使用的那样的伪外壳


推荐阅读