我一直在尝试在Docker容器中设置cron。它现在工作正常。我现在想要的是一个日志文件。
这是我的博客
* * * * * python /code/data_etl.py > /proc/1/fd/1 2> /proc/1/fd/2
我的停靠文件CMD是CMD ["cron", "-f"]
。
我只能通过下面的答案来让它工作如何在码头集装箱内运行cron作业?
我不能100%肯定,但我相信f
标志是在前台运行cron,而不是作为后台进程运行。
但是,我不确定为什么这一行> /proc/1/fd/1 2> /proc/1/fd/2
是真正必要的,因此,不知道如何修改它,以便可以在Docker容器中存储日志文件。
2条答案
按热度按时间u3r8eeie1#
早上好!您应该尝试将cron文件中的参数更改为以下内容:
只有你需要其中之一,我认为没有必要使用
2> /proc/1/fd/2
让我知道你的成绩!祝你有美好的一天!
nwo49xxi2#
> /proc/1/fd/1
将python
进程(您的任务)的stdout
重定向到PID为1的进程(crod
守护程序)的stdout
。2> /proc/1/fd/2
将您的任务的stderr
重定向到cron
守护程序的stderr
。除非你这样做,否则你的任务输出不会出现在
docker logs
中,而且这个技巧在你以root
运行你的任务时有效。但是这看起来不是很棘手吗?为什么不使用
docker
-friendlycron
implementation呢?