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
}
相关推荐
bush41 天前
嵌入式linux学习记录七,中断
linux·嵌入式
RisunJan1 天前
Linux命令-nologin(用于系统账户或需要禁止交互式登录的场景)
linux·运维
是阿建吖!1 天前
【Linux】信号
android·linux·c语言·c++
城北徐宫1 天前
Linux信号深度解剖:5种产生、3张表、4次切换
linux·c++·学习
sugar__salt1 天前
从栈队列数据结构到JS原型面向对象全解
前端·javascript·数据结构
倔强的石头1061 天前
【Linux指南】Linux快捷键与系统实用技巧
linux·运维·服务器
番茄地瓜1 天前
Linux 配置静态 IP 步骤
linux·运维·服务器
liulilittle1 天前
论 Linux 内核态全局稳态带宽的卡尔曼估计与工程实现
linux·服务器·网络·c++·计算机网络·tcp·通信
MageGojo1 天前
随机文案模块怎么做?从接口封装到前端展示的完整实现思路
javascript·前端开发·api接口·后端开发·随机文案
独特的螺狮粉1 天前
篮球集训班器具管理系统 - 鸿蒙PC Electron框架完整技术实现指南
前端·javascript·华为·electron·前端框架·开源·鸿蒙