将Cron日志重定向到Docker日志

时间:2020-07-21 21:35:47

标签: docker cron

我正在ubuntu 18上的docker容器中通过cron运行R脚本,并且能够通过向cron作业添加> /path/to/log并在其中使用CMD cron && tail -f /var/log/cron_1.log /var/log/cron_2.log来将日志写入容器中的文件Dockerfile。

我试图将日志直接重定向到docker日志,而不使用容器内部的日志。我浏览了thisthis个问题,无济于事。

尝试了不同的方法-重定向到/dev/stdout/,在cron文件中使用ln -sf /proc/1/fd/1 /var/log/cron_1.log,通过> /proc/1/fd/1创建指向docker日志的符号链接,但无法使其正常工作。请就我所缺少的提供建议

Dockerfile:

FROM rocker/r-ver:3.6.3

RUN apt update
RUN apt-get -y install cron

# copying cron jobs
COPY ./cron_1 /etc/cron.d/
COPY ./cron_2 /etc/cron.d/
# permissions
RUN chmod 0644 /etc/cron.d/cron_1
RUN chmod 0644 /etc/cron.d/cron_2
# applying jobs
RUN crontab /etc/cron.d/cron_1
RUN crontab /etc/cron.d/cron_2

CMD cron -f

cron作业如下:

0 */3 * * * . /.env && /usr/local/bin/Rscript "/cron_1.R" > /dev/stdout 2>&1

0 个答案:

没有答案