推荐一款日志切割神器,很好很强大

★★★建议星标我们★★★
推荐一款日志切割神器,很好很强大文章插图
推荐一款日志切割神器,很好很强大文章插图
2020年Java原创面试题库连载中
【推荐一款日志切割神器,很好很强大】【000期】Java最全面试题库思维导图
【020期】JavaSE系列面试题汇总(共18篇)
【028期】JavaWeb系列面试题汇总(共10篇)
【042期】JavaEE系列面试题汇总(共13篇)
【049期】数据库系列面试题汇总(共6篇)
【053期】中间件系列面试题汇总(共3篇)
【065期】数据结构与算法面试题汇总(共11篇)
【076期】分布式面试题汇总(共10篇)
【077期】综合面试题系列(一)
【078期】综合面试题系列(二)
【079期】综合面试题系列(三)
【080期】综合面试题系列(四)
【081期】综合面试题系列(五)
【082期】综合面试题系列(六)
【083期】综合面试题系列(七)
【084期】综合面试题系列(八)
【085期】综合面试题系列(九)
【086期】综合面试题系列(十)
【087期】综合面试题系列(十一)
【088期】综合面试题系列(十二)
【089期】综合面试题系列(十三)
更多内容 , 点击上面蓝字查看
推荐一款日志切割神器,很好很强大文章插图
对于 Linux 系统安全来说 , 日志文件是极其重要的工具 。 不知为何 , 我发现很多运维同学的服务器上都运行着一些诸如每天切分 Nginx日志之类的 CRON 脚本 , 大家似乎遗忘了 Logrotate , 争相发明自己的轮子 , 这真是让人沮丧啊!就好比明明身边躺着现成的性感美女 , 大家却忙着自娱自乐 , 罪过!
logrotate 程序是一个日志文件管理工具 。 用于分割日志文件 , 删除旧的日志文件 , 并创建新的日志文件 , 起到“转储”作用 。 可以节省磁盘空间 。 下面就对 logrotate 日志轮转操作做一梳理记录 。
1、配置文件介绍Linux系统默认安装logrotate工具 , 它默认的配置文件在:
/etc/logrotate.conf/etc/logrotate.d/logrotate.conf 才主要的配置文件 , logrotate.d 是一个目录 , 该目录里的所有文件都会被主动的读入/etc/logrotate.conf中执行 。
另外 , 如果 /etc/logrotate.d/ 里面的文件中没有设定一些细节 , 则会以/etc/logrotate.conf这个文件的设定来作为默认值 。
Logrotate是基于CRON来运行的 , 其脚本是/etc/cron.daily/logrotate , 日志轮转是系统自动完成的 。 实际运行时 , Logrotate会调用配置文件/etc/logrotate.conf 。 可以在/etc/logrotate.d目录里放置自定义好的配置文件 , 用来覆盖Logrotate的缺省值 。
[root@huanqiu_web1 ~]# cat /etc/cron.daily/logrotate#!/bin/sh/usr/sbin/logrotate /etc/logrotate.conf >/dev/ 2> then /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"fiexit 0如果等不及cron自动执行日志轮转 , 想手动强制切割日志 , 需要加-f参数;不过正式执行前最好通过Debug选项来验证一下(-d参数) , 这对调试也很重要:
# /usr/sbin/logrotate -f /etc/logrotate.d/nginx# /usr/sbin/logrotate -d -f /etc/logrotate.d/nginxlogrotate 命令格式:
logrotate [OPTION...] -d, --debug :debug模式 , 测试配置文件是否有错误 。 -f, --force :强制转储文件 。 -m, --mail=command :压缩日志后 , 发送日志到指定邮箱 。 -s, --state=statefile :使用指定的状态文件 。 -v, --verbose :显示转储过程 。 根据日志切割设置进行操作 , 并显示详细信息:
[root@huanqiu_web1 ~]# /usr/sbin/logrotate -v /etc/logrotate.conf[root@huanqiu_web1 ~]# /usr/sbin/logrotate -v /etc/logrotate.d/php根据日志切割设置进行执行 , 并显示详细信息,但是不进行具体操作 , debug模式
[root@huanqiu_web1 ~]# /usr/sbin/logrotate -d /etc/logrotate.conf[root@huanqiu_web1 ~]# /usr/sbin/logrotate -d /etc/logrotate.d/nginx查看各log文件的具体执行情况
[root@fangfull_web1 ~]# cat /var/lib/logrotate.status2、切割介绍比如以系统日志/var/log/message做切割来简单说明下: