Linux系统日志切割
Linux系统日志切割
如果服务器有大量的用户的话,这些日志文件的大小会很快地增加,在服务器硬盘不是非常充足的情况下,必须采取措施防止日志文件将硬盘撑爆。现代的Linux版本都有一个小程序,名为logrotate,用来帮助用户管理日志文件,它以自己的守护进程工作。logrotate周期性地旋转日志文件,可以周期性地把每个日志文件重命名成一个备份名字,然后让它的守护进程开始使用一个日志文件的新的拷贝。这就是为什么在/var/log/下看到许多诸如maillog、maillog.1、maillog.2、boot.log.1、boot.log.2之类的文件名。它由一个配置文件驱动,该文件是/etc/logroatate.conf,下面是它的一个范例:
# see "man logrotate" for details
# rotate log files weekly
weekly
#以7天为一个周期
# keep 4 weeks worth of backlogs
rotate 4
#每隔4周备份日志文件
# send errors to root
errors root
#发生错误向root报告
# create new (empty) log files after rotating
old ones
create
#转完旧的日志文件就创建新的日志文件
# uncomment this if you want your log files
compressed
#compress
#指定是否压缩日志文件
# RPM packages drop log rotation information
into this directory
include /etc/logrotate.d
#表示/etc/logrotate.d目录下的所有配置文件都生效
# no packages own lastlog or wtmp -- we'll
rotate them here
/var/log/wtmp { --针对wtmp单独的配置,这里是绝对路径
monthly --一个月rotate一次,取代上面的全局配置里的一个星期一次
minsize 1M --指定最小大小为1M,才rotate,就算是时间到了,大小没有1M,也不rotate
create 0664 root utmp --定义创建的为属性为0664,属主为root,属组utmp
rotate 1 --保留一个
}
logrotate -vf /etc/logrotate.conf --强制轮转日志,并查看轮转的过程
# system-specific logs may be configured here
参 数:
-?或--help 在线帮助。
-d或--debug 详细显示指令执行过程,便于排错或了解程序执行的情况。
-f或--force 强行启动记录文件维护操作,纵使logrotate指令认为没有需要亦然。
-s<状态文件>或--state=<状态文件> 使用指定的状态文件。
-v或--version 显示指令执行过程。
-usage 显示指令基本用法。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了