推荐一款日志切割神器,很好很强大
★★★建议星标我们★★★
文章插图
文章插图
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]"
fi
exit 0
如果等不及cron自动执行日志轮转 , 想手动强制切割日志 , 需要加-f参数;不过正式执行前最好通过Debug选项来验证一下(-d参数) , 这对调试也很重要:
# /usr/sbin/logrotate -f /etc/logrotate.d/nginx
# /usr/sbin/logrotate -d -f /etc/logrotate.d/nginx
logrotate 命令格式:
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.status
2、切割介绍比如以系统日志/var/log/message做切割来简单说明下:
- 第一次执行完rotate(轮转)之后 , 原本的messages会变成messages.1 , 而且会制造一个空的messages给系统来储存日志;
- 第二次执行之后 , messages.1会变成messages.2 , 而messages会变成messages.1 , 又造成一个空的messages来储存日志!
- 推出|三星可能会推出一款名为“Galaxy Smart Tag”的追踪器
- 短板|年底换机好推荐,真无短板机称号iQOO 5拿下了
- 机型|三星将取消Note系列旗舰身份 新机Note21仅一款机型
- 红米|红米K40Pro再确认,骁龙875+144Hz柔性直屏,又是一款香饽饽
- 最新|2020年12月最新购机推荐,这六款各有优点,实用党首选
- 持续|十一月推荐手机系列,iQOO今年多款机型热度持续
- 第一款骁龙888游戏手机:红魔6官宣
- 极客|极具黑科技含量的AI录音笔推荐:搜狗AI录音笔S1,极客最爱
- 猜到|vivo今年卖的最好的3款手机,最后一款是黑马,你猜到了吗?
- 算法|为什么长视频没有强算法推荐的产品