linux-系统日志的归档

一、背景

最近发现一台机器的根目录占用比较大,最后排查发现是auth.log增长的比较快,排查无攻击后则开始解决问题

二、解决

本次通过调整日志保留个数来达到减少空间占用的问题,共有两种方法

方法一、调整公共配置文件

  • 位置:/etc/logrotate.d/rsyslog
bash 复制代码
/var/log/syslog
{
	rotate 7 # 保留7个旧日志文件(即7天日志,因daily触发)
	daily
	missingok
	notifempty
	delaycompress # 但延迟到下次轮转后压缩(避免同时压缩导致性能问题)
	compress # 压缩旧日志,
	postrotate
		invoke-rc.d rsyslog rotate > /dev/null
	endscript
}

/var/log/mail.info
/var/log/mail.warn
/var/log/mail.err
/var/log/mail.log
/var/log/daemon.log
/var/log/kern.log
/var/log/auth.log
/var/log/user.log
/var/log/lpr.log
/var/log/cron.log
/var/log/debug
/var/log/messages
{
	rotate 4 # 保留4个旧日志文件(即4周日志,因weekly触发)
	weekly
	missingok
	notifempty
	compress
	delaycompress
	sharedscripts
	postrotate
		invoke-rc.d rsyslog rotate > /dev/null
	endscript
}

方法二、设置独立配置文件

如果想单独用一个文件来设置某一个日志的归档策略,比如auth.log,移除syslog文件中的/var/log/auth.log,创建一个新文件/etc/logrotate.d/auth-log

bash 复制代码
/var/log/auth.log {
    daily          # 改为每日轮转(可选,根据需求调整)
    rotate 7       # 保留7个旧日志文件
    compress       # 压缩旧日志
    missingok      # 日志丢失时不报错
    notifempty     # 空日志不轮转
    create 0640 root adm  # 创建新日志文件,权限0640,属主root,属组adm
    sharedscripts
    postrotate
        invoke-rc.d rsyslog rotate > /dev/null
    endscript
}
相关推荐
SkyWalking中文站8 分钟前
认识 Horizon UI · 1/17:SkyWalking 新一代可观测性控制台
运维·前端·监控
tangdou36909865510 分钟前
AI真好玩系列-2分钟快速了解DeepAgents | Quick Guide to DeepAgents in 2 Minutes
前端·javascript·后端
张元清11 分钟前
React useIntersectionObserver Hook:懒加载与可见性检测(2026)
javascript·react.js
彭于晏爱编程21 分钟前
纯 JS + Node,一个下午手搓了能读懂公司代码的 AI 助手,老板以为我转行了
前端·javascript
妙码生花1 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十四):眨眼小人登录页制作
前端·javascript·ai编程
顺风尿一寸1 小时前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
妙码生花1 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十三):前端路由初始化
前端·javascript·ai编程
PBitW2 小时前
GPT训练我的第四天,被打惨了!!!😭😭😭
前端·javascript·面试
DarkLONGLOVE2 小时前
快速上手 Pinia!Vue3 极简状态管理使用教程
javascript·vue.js
mackbob2 小时前
.eslintrc.js详细配置说明
javascript