logrotate是一个日志轮转切割器,但是发现在Docker for Alpine不工作,通过寻找资料和自身实践进行类整理,以排查和解决logrotate不工作的问题。
安装logrotate
Docker for Alpine中并未安装logrotate
,因此您需要先安装。
apk add logrotate
安装crond
logrotate日志轮转依赖于crond
,不巧的是Docker for Alpine也没有安装crond
,因此我们也需要安装crond
并启动。
#安装crond
apk add crond
#启动crond
crond
添加定时任务
将logrotate需要执行的任务添加到crontab
中,比如:
echo "50 23 * * * /usr/sbin/logrotate -f /etc/logrotate.d/nginx" >> /etc/crontabs/root
同时需要重启crond
才会生效。