ubuntu 将cron输出保存到Docker容器内的日志

g0czyy6m  于 2023-02-07  发布在  Docker
关注(0)|答案(2)|浏览(218)

我一直在尝试在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容器中存储日志文件。

u3r8eeie

u3r8eeie1#

早上好!您应该尝试将cron文件中的参数更改为以下内容:

* * * * * python /code/data_etl.py > /proc/1/fd/1

只有你需要其中之一,我认为没有必要使用2> /proc/1/fd/2
让我知道你的成绩!祝你有美好的一天!

nwo49xxi

nwo49xxi2#

> /proc/1/fd/1python进程(您的任务)的stdout重定向到PID为1的进程(crod守护程序)的stdout2> /proc/1/fd/2将您的任务的stderr重定向到cron守护程序的stderr
除非你这样做,否则你的任务输出不会出现在docker logs中,而且这个技巧在你以root运行你的任务时有效。
但是这看起来不是很棘手吗?为什么不使用docker -friendly cron implementation呢?

相关问题