关注分享主机优惠活动
国内外VPS云服务器

Logrotate实现日志切割模式(转储)(linux日志切割工具)

日志旋转日志切割(转储)

后台系统每天凌晨1:59检查/data/nginx/log文件的大小。如果小于10M,则什么都不做;如果超过10M,将触发日志转储。

转储后/data/nginx/log的大小为0,在/data/nginx/logs/下会生成一个由gzip压缩并以当前日期命名的。gz文件。

注意:这个配置不是日志切割,因为当日志文件为25M时,它也将作为一个文件归档,并且它不是以10M为单位划分的,因此它只能称为日志转储。

日志切割配置文件/etc/log rotate . conf cat》/etc/log rotate . conf & lt;& ltEOF/data/nginx/log { missing notice empty create 0640 root root compress date ext old dir/data/nginx/logs/rotate 50 size 10m } EOF相关解释:

/data/nginx/log #表示要切割的原木的文件名。在日志轮转期间,任何错误都将被忽略,例如错误“找不到文件”。notifempty #如果日志文件为空,将不会执行循环。用指定的权限创建一个全新的日志文件。compress #循环任务完成后,使用gzip压缩归档文件dateext #使用当前日期作为归档文件olddir /data/nginx/logs/ #的命名格式,以指定归档文件存储在/data/nginx/logs/目录中。/data/nginx/logs/您需要提前创建rotate 50 #来存储多达50个归档文件。当生成第51个存档文件时,第一个文件将被删除。当监听文件达到10M时,剪切并存档10M #大小。

设置计划任务echo“5901 * * */usr/sbin/log rotate -v/etc/log rotate . conf &;& gt/var/log/log rotate . log“& gt;& gt/var/spool/cron/rootcrond start

日志旋转日志切割中的错误:当文件不再在同一用户组下分割时,会报告一个错误:

:错误:跳过& quot/var/log/nginx/test . access . log & quot;因为parentdirectory具有不安全的权限(它& # 39;不是& quot的组完全可写或可写root & quot设置& quot苏配置文件中的指令告诉logrotate应该使用哪个用户/组进行循环。

Xx文件属于用户。

添加& ldquosu root xx & rdquo到/etc/logrotate.d/nginx文件。

如下所示:

/var/log/nginx/*。log { su root public daily missing ok rotate 52 compress delay compress notifempty # if empty create 0640 www -data ADM shared scripts post rotate【!-f/var/run/nginx . PID】| | kill -us R1 ` cat/var/run/nginx . PID ` end script }

总结以上个人经验,希望能给你一个参考,也希望你能支持主机频道zhujipindao。更多内容。

未经允许不得转载:主机频道 » Logrotate实现日志切割模式(转储)(linux日志切割工具)

评论 抢沙发

评论前必须登录!