近期在运维过程中存在服务器/var文件系统使用率告警,发现为messages日志未转存,从服务器运行至今写一个日志,通过logrotate配置转存后解决此问题。
收到批量主机/var文件系统使用率告警,登录主机核查,发现主要为messages日志,且没有历史轮转日志,检查其他系统日志有正常轮转,怀疑该messages日志没有配置轮转。



logrotate的配置文件主要有两个:主配置文件/etc/logrotate.conf和子配置文件/etc/logrotate.d/*。



logrotate是基于CRON来运行的在大多数Linux发行版中默认已经安装,是用于管理日志文件的强大工具,通过定期转存和删除日志文件,确保系统日志文件的及时清理,避免磁盘空间浪费。
-d或者--debug 显示详细命令执行过程。 -f或者--force 强制进行日志转存,即使不满足转存条件。 -v或者--version 显示命令执行过程。 -b 后台执行。
compress:对所有旧日志的进行压缩以节省空间。 nocompress:不压缩。 delaycompress:延迟压缩上一个日志文件的备份,转存日志文件到下一次转存时压缩。 monthly、weekly、daily等:表示按指定时间间隔来转存日志文件。例如,“monthly”表示每月转存一次日志文件。 prerotate、endscript:日志转存前执行的命令endscript标志着prerotate结束,两个配置必须单独成行,执行命令位于两行之间。 postrotate、endscript:日志转存后执行命令,比如某些服务归档后需要重新装载日志或者重启服务,endscript标志着postrotate结束,两个配置必须单独成行,执行命令位于两行之间。 missingok:如果日志文件不存在,不报错继续执行下一个操作。 notifempty:如果日志文件为空,则不进行转存。 create:创建新的日志文件,可以指定权限、用户和组。 sharedscripts:共享脚本,一组的多个日志文件至运行一次脚本。 size:根据指定的大小来转存日志文件。例如,“100M”表示当日志文件大小超过100MB时进行转存。 rotate 'n':保留n个压缩的日志。 oldestfirst、newestfirst等:表示按照指定顺序来删除旧日志文件。 maxage:日志文件保留天数。

本文作者:李易明(上海新炬中北团队)
本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




