docker exec 在 cron 中不起作用 [英] docker exec is not working in cron
问题描述
我有一个非常简单的命令,它可以作为命令或 bash 脚本独立工作,但当我把它放在 crontab 中时就不行了
I have pretty simple command which is working fine standalone as a command or bash script but not when I put it in crontab
40 05 * * * bash /root/scripts/direct.sh >> /root/cron.log
具有以下行
PATH=$PATH:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
SHELL=/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin:/root/
# Mongo Backup
docker exec -it mongodb mongodump -d meteor -o /dump/
我试图将脚本的 url 更改为 /usr/bin/scipts/
没有运气
I tried to change the url of script to /usr/bin/scirpts/
no luck
我什至尝试在 cron 中直接运行脚本
I even tried to run script directly in cron
26 08 * * * docker exec -it mongodb mongodump -d meteor -o /dump/ >> /root/cron.log
运气不好,感谢任何帮助.
with no luck, any help appreciated.
编辑
我也没有在 /root/cron.log
文件中看到任何错误
I don't see any errors in /root/cron.log
file either
推荐答案
你的 docker exec
命令说它需要伪终端并以交互模式运行"(-it 标志),而 cron 不附加到任何 TTY.
Your docker exec
command says it needs "pseudo terminal and runs in interactive mode" (-it flags) while cron doesn't attach to any TTYs.
尝试将您的 docker exec 命令更改为此,看看是否有效?
Try changing your docker exec command to this and see if that works?
docker exec mongodb mongodump -d meteor -o /dump/
这篇关于docker exec 在 cron 中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!