日志切割工具logrotate使用

[ 2020-09-29 14:49:16 | 作者: admin ]
字号: | |
Logrotate 程序是一个日志文件管理工具。用于分割日志文件,压缩转存、删除旧的日志文件,并创建新的日志文件,下面就对logrotate日志轮转的记录:


Logrotater提供日志文件切割策略,logrotate.conf配置文件: /etc/logrotate.conf
Logrotater会自动导入 /etc/logrotate.d/ 下的其他相关配置文件,所以有应用的日志需要处理,都可以单独写个配置放在这个目录下。



配置演示
weekly //默认每一周执行一次rotate轮转工作,可以改为 monthly 月切割
rotate 4 //保留多少个日志文件(轮转几次).默认保留四个.就是指定日志文件删除之前轮转的次数,0 指没有备份
create //自动创建新的日志文件,新的日志文件具有和原来的文件相同的权限;因为日志被改名,因此要创建一个新的来继续存储之前的日志
dateext //这个参数很重要!就是切割后的日志文件以当前日期为格式结尾,如xxx.log-20131216这样,如果注释掉,切割出来是按数字递增,即前面说的 xxx.log-1这种格式
compress //是否通过gzip压缩转储以后的日志文件,如xxx.log-20131216.gz ;如果不需要压缩,注释掉就行
include /etc/logrotate.d //导入/etc/logrotate.d/ 目录中的各个应用配置
/var/log/wtmp { //仅针对 /var/log/wtmp 所设定的参数
         monthly //每月一次切割,取代默认的一周
         minsize 1M //文件大小超过 1M 后才会切割
         create 0664 root utmp //指定新建的日志文件权限以及所属用户和组
         rotate 1 //只保留一个日志.
}


保留半年配置为:
monthly
rotate 6


NGINX日志的配置实例参考:

配置文件地址:/etc/logrotate.d/nginx
/var/log/weblog/*.log {
         daily //指定转储周期为每天
         compress //通过gzip 压缩转储以后的日志
         rotate 7 //保存7天的日志
         missingok //如果日志文件丢失,不要显示错误
         notifempty //当日志文件为空时,不进行轮转
         dateext //使用当期日期作为命名格式,exp: nginx_access.log-20190120
         sharedscripts //运行postrotate脚本
         postrotate //执行的指令
                     if [ -f /run/nginx.pid ]; then
                     kill -USR1 `cat /run/nginx.pid`
                     fi
         endscript //结束指令
}


PHP-FPM日志的配置实例参考:
配置文件地址:/etc/logrotate.d/phpfpm
/usr/local/php/var/log/*.log {
daily
compress
rotate 7
missingok
notifempty
dateext
sharedscripts
postrotate
         if [ -f /usr/local/php/var/run/php-fpm.pid ]; then
                kill -USR2 `cat /usr/local/php/var/run/php-fpm.pid`
         fi
endscript
}



文章来源:https://blog.csdn.net/qq_38814358/article/details/106117225
[最后修改由 admin, 于 2020-11-23 19:59:44]
评论Feed 评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=2717

这篇日志没有评论。

此日志不可发表评论。