use*_*200 3 linux cron crontab scheduled-tasks docker
我有一个Docker容器,我安装了我的Python工具,包括我的Luigi管道接口.我想运行一个shell脚本,它使用cron每周启动我的Luigi管道.
我尝试过高低,让cron在Docker容器中工作.在我的生活中,我不能让我的crontab -e文件运行.
在我的档案中,我有:
0 0 * * Sun /data/myscript.sh
接着是一条新线.Cron正在后台运行- ps aux | grep cron
节目/usr/sbin/cron
正在运行.此外,在我的/var/log/syslog
文件中,我有:
/USR/SBIN/CRON[2037]: (root) CMD (/data/myscript.sh)
我也试过用 0 0 * * Sun . /root/.bashrc ; sh /data/myscript.sh
但是,我的脚本没有运行(当我手动运行脚本时bash myscript.sh
,我得到了预期的结果).
建议?
由于没有调度程序正在运行,因此计划任务不会在普通容器内运行.唯一的活动任务是您选择通过CMD关键字或Entrypoint运行的任务.
为了执行计划任务,使用主机调度程序和docker exec命令更为谨慎:
docker exec <container> <command>
docker exec <container> /data/myscript.sh
Run Code Online (Sandbox Code Playgroud)
所以你最终会在你的主机上找到一个cron:
(Crontab样式)0****root docker exec mycontainer /data/myscript.sh
如果您有一个群集,则必须首先查询群集以找到容器,或者甚至让脚本为您执行此操作.
归档时间: |
|
查看次数: |
3615 次 |
最近记录: |