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
}
相关推荐
code_Bo4 分钟前
不只命令行:我把跨 Agent 会话同步做成了桌面应用
前端·javascript·后端
kyriewen18 分钟前
AI 能把页面写出来,为什么改个需求就开始崩?
前端·javascript·人工智能
OpsEye22 分钟前
同一套用例跑两个大模型接口,差异到底出在哪
javascript·ai编程
X1A0RAN1 小时前
PPT 图片批量处理教程:导出全部幻灯片 · 提取全部素材
开发语言·javascript·powerpoint
量化分析码农2 小时前
股票历史数据的复权参数对照:多级别返回的字段与数值差异
java·javascript·后端
分布式存储与RustFS2 小时前
群晖 NAS 被 C3RB3R 锁了:本地备份一起被加密,RustFS 对象锁为什么删不掉
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
真好啊又活了一天3 小时前
服务器和虚机配置IPV6
运维·服务器·github
zixu_star3 小时前
定时任务是什么?从日常自动化到 AI 应用,软件如何自动执行任务?
运维·人工智能·自动化
AR-26710-3 小时前
Linux Day33——定时任务+lvm
linux·运维
墨痕诉清风4 小时前
SSRF漏洞实战记录+OSS桶命令执行+MCP漏洞
linux·服务器·数据库