尝试运行具有 cron 调度的 docker 容器。但是我不能让它输出日志。
我正在使用 docker-compose。
docker-compose.yml
---
version: '3'
services:
cron:
build:
context: cron/
container_name: ubuntu-cron
Run Code Online (Sandbox Code Playgroud)
定时/Dockerfile
FROM ubuntu:18.10
RUN apt-get update
RUN apt-get update && apt-get install -y cron
ADD hello-cron /etc/cron.d/hello-cron
# Give execution rights on the cron job
RUN chmod 0644 /etc/cron.d/hello-cron
# Create the log file to be able to run tail
RUN touch /var/log/cron.log
# Run the command on container startup
CMD cron && tail -F /var/log/cron.log
Run Code Online (Sandbox Code Playgroud)
cron/你好-cron
* * * * * …Run Code Online (Sandbox Code Playgroud) 我有一个简单的cronjob每天18:35运行:
05 18 * * * ~/job.sh 2>&1 >> ~/job.log
Run Code Online (Sandbox Code Playgroud)
所以〜/ job.sh的输出应写入〜/ job.log.在job.sh中,有一些echo命令和一些python脚本被执行,例如:
echo 'doing xyz'
python doXYZ.py
Run Code Online (Sandbox Code Playgroud)
现在,无论python脚本产生什么输出,它们都不会写入〜/ job.log.我只在〜/ job.log中看到echo文本.如何将shell脚本的完整输出重定向到〜/ job.log?