在 docker 容器中进行 crontab 时的 Python 日志记录

时间:2021-05-30 20:06:41

标签: python linux docker cron

我正在运行一个登录到文件的 python 作业:

CREATE TABLE a ( class ) AS
SELECT 'P,H,P0101' FROM DUAL UNION ALL
SELECT 'P' FROM DUAL UNION ALL
SELECT 'H' FROM DUAL UNION ALL
SELECT 'P0101' FROM DUAL;

CREATE TABLE B ( id ) AS
SELECT 'P0101' FROM DUAL UNION ALL
SELECT 'P' FROM DUAL;

手动运行作业时,日志文件会很好地创建/增加新条目。

通过 crontab 运行时(下面的语法),日志未按预期写入。

logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', filename='/app/logs/ups_tracking.log')
self.logger = logging.getLogger('TRACK-UPS')

我在一个 docker 容器中运行整个事情,dockerfile 如下:

### TRACKING UPS ###
* * * * * python /app/UPS/parcels.py

root@91067d2217e7:/app/logs# service cron status
[ ok ] cron is running.

我在这里遗漏了什么吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

# Start CRON service
RUN service cron start

表示 crond 仅在该 RUN 阶段运行。

看到我想知道您是否也在 /tmp/init.sh 中启动 cron?