【发布时间】:2021-08-09 01:18:55
【问题描述】:
我一直在尝试在 docker 容器中设置一个简单的 cron 作业。当我构建并运行作业时,没有错误,但没有记录任何内容。如果我进入容器,我可以看到 crontab(即 crontab -l)并运行文件(python test.py)。 Idk 我缺少什么来查看计划的作业运行。如果它正在运行并且我的日志位置是错误的,或者它甚至根本没有运行,请识别它。
Dockerfile
FROM python:3.8.8
RUN apt-get update && apt-get -y install cron vim
WORKDIR /app
COPY crontab /etc/cron.d/crontab
COPY test.py /app/test.py
RUN chmod 0644 /etc/cron.d/crontab
RUN /usr/bin/crontab /etc/cron.d/crontab
# run crond as main process of container
CMD ["cron", "-f"]
crontab
* * * * * python /app/test.py > /proc/1/fd/1 2>/proc/1/fd/2
# new line
test.py
print('test')
【问题讨论】:
-
如果我将您的输出与 linuxwiki.de/crontab 进行比较,您的 cronjob 似乎缺少句点(* * * * * 而不是 30 5 * * 3 之类的东西)
-
我刚刚意识到上面的链接是德语的。你可以看看opensource.com/article/17/11/how-use-cron-linux。
-
错过期间是什么意思?我认为我的 crontab 格式正确?
-
查看终端输出(此处)[phoenixnap.com/kb/… 如果我理解正确,
crontab -l会打印出 cronjob 前面有其“编码”句点(例如“0 5 * * 1”)但是在您的情况下,打印了一个“* * * * *”,这似乎不是有效期限 -
啊我认为 * * * * * 是每分钟运行一次工作。至少那是我测试时的目标。
标签: python docker cron python-3.8