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/
我试图将脚本的网址更改为/usr/bin/scirpts/
没运气
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
命令说它需要伪终端并以交互模式运行"(
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屋!