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
}
相关推荐
鬼手点金5 小时前
nanoGPT/nanochat 能做出 DeepSeek/Qwen 这样的大模型吗?
服务器·前端·javascript·bug·openclaw
软件技术NINI5 小时前
美妆商城html+Css+js 4页
javascript·css·html
蛋蛋的就会顺顺的5 小时前
hot100 p0——栈,贪心算法,动态规划
java·前端·javascript·算法·leetcode·力扣
贵州诚鑫致达科技有限公司6 小时前
Linux的yum源怎么重启?源不是服务
linux·运维·服务器
码艺-Alimjan6 小时前
Tauri 源码备份 · 打包 & 解压 总结,源码收集之路
前端·javascript·vue.js
遇印记7 小时前
传输层,网络层
运维·服务器·网络·windows·学习
品牌常新7 小时前
景区巡逻机器人怎么选?派宝S5全地形守护解析
运维·人工智能·机器人
Elastic 中国社区官方博客7 小时前
一条 ES|QL 查询,涵盖365天的审计日志:在热数据和可搜索快照上执行相同的搜索
大数据·运维·服务器·elasticsearch·搜索引擎·全文检索
澜山奕秋9 小时前
RHCSA
linux·运维·服务器