如何配置主管不杀死 docker 容器中由 cron 启动的作业

How to configure supervisor not to kill jobs started by cron in docker container

我想 运行 cron 和 运行 一些脚本在 crontab 中设置的时间启动。我已经在我的 docker 容器上安装了 cron,并希望添加一些 crontab 行和 cron 从单独的脚本开始。这是我的配置片段

supervisord.conf

[program:cron]
command=/stats/run-crontabs.sh

/stats/run-crontabs.sh

#!/bin/bash

crontab -l | { cat; echo "11 1 * * * /stats/generate-year-rank.sh"; } | crontab -
crontab -l | { cat; echo "12 1 * * * /stats/generate-week-rank.sh"; } | crontab -
cron -f -L 15

当需要通过 cron 执行 运行 脚本时,我只能在容器日志中看到该错误

2022-01-29 01:12:01,920 INFO reaped unknown pid 691343

我想知道如何通过 cron 在 docker 容器上 运行 编写脚本。我需要主管吗?

编辑:正如@david-maze 建议的那样,我已经像他评论的那样做了,运行 cron 作为容器入口点,问题是一样的

感谢您的帮助

好的,我必须 post 一个答案。我已经意识到脚本运行良好,但它将报告保存在系统根目录中,而不是我想要的目录中。

是因为缺少环境变量 更多你可以阅读那些主题, Where can I set environment variables that crontab will use?

但我已经通过在 'run-crontabs.sh' 脚本

的开头添加该行解决了我的问题
crontab -l | { cat; echo "$(env)"; } | crontab -