|
1.系统是默认安装的,查看系统是否安装logrotate
centos
rpm -ql logrotate- /etc/cron.daily/logrotate
- /etc/logrotate.conf
- /etc/logrotate.d
- /etc/rwtab.d/logrotate
- /usr/sbin/logrotate
- /usr/share/doc/logrotate-3.8.6
- /usr/share/doc/logrotate-3.8.6/CHANGES
- /usr/share/doc/logrotate-3.8.6/COPYING
- /usr/share/man/man5/logrotate.conf.5.gz
- /usr/share/man/man8/logrotate.8.gz
- /var/lib/logrotate
- /var/lib/logrotate/logrotate.status
复制代码 ubuntu
logrotate --version- logrotate 3.14.0
- Default mail command: /usr/bin/mail
- Default compress command: /bin/gzip
- Default uncompress command: /bin/gunzip
- Default compress extension: .gz
- Default state file path: /var/lib/logrotate/status
- ACL support: yes
- SELinux support: yes
复制代码 2.docker配置日志截取
创建文件
/etc/docker/daemon.json
内容
{
"log-driver": "json-file",
"log-opts": {
"max-size": "500m",
"max-file": "3"
}
}
max-size 指定日志文件大小上限
max-file 指定日志文件个数
systemctl daemon-reload
systemctl restart docker.service
3.创建logrotate 配置文件,系统会自动创建 crontab 任务自动执行
/etc/logrotate.d/nginx- /work/nginx/logs/*log {
- su root root
- create 0644 root root
- daily #每天执行一次
- rotate 365 #保留365个日志文件
- missingok #如果日志丢失,不报错继续滚动下一个日志
- notifempty #当日志文件为空时不生成新的文件
- compress #压缩
- sharedscripts #统一执行一次脚本postrotate
- postrotate #运行脚本
- docker exec nginx nginx -s reload;
- endscript
- }
复制代码 手动测试logrotate- logrotate -d -f /etc/logrotate.d/nginx
- -d, --debug :debug模式,测试配置文件是否有错误。
- -f, --force :强制转储文件。
复制代码 4.推荐博客:
- https://www.cnblogs.com/kevingrace/p/6307298.html
复制代码 来源:https://www.cnblogs.com/When6/p/17165918.html
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|