簡體   English   中英

如何配置主管不殺死由 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 作為容器入口點運行,問題是一樣的

謝謝您的幫助

好的,我必須發布一個答案。 我已經意識到腳本運行良好,但是它將報告保存在系統根目錄中,而不是我想要的目錄中。

這是因為缺少環境變量更多您可以閱讀這些主題, 我在哪里可以設置 crontab 將使用的環境變量?

但我已經解決了在“run-crontabs.sh”腳本開頭添加該行的問題

crontab -l | { cat; echo "$(env)"; } | crontab -

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM