Syslog 日志过大是服务器 / 网络设备运维中很常见的问题,通常可以从清理、轮转、过滤、转发、归档几个方向来处理。
常见路径:
/var/log/messages、/var/log/syslogjournalctl查看占用:
du -sh /var/log/*
journalctl --disk-usage
# 只清空,不删文件(推荐)
> /var/log/syslog
# journal 清理
journalctl --vacuum-size=500M
⚠️ 不要直接 rm 正在写入的日志文件,否则进程仍占用空间。
示例 /etc/logrotate.d/syslog:
/var/log/syslog {
daily
rotate 7
compress
missingok
notifempty
size 100M
postrotate
systemctl kill -s HUP rsyslog
endscript
}
常用参数:
size:超过大小就轮转rotate:保留份数compress:压缩旧日志daily/weekly:周期测试:
logrotate -d /etc/logrotate.conf
编辑 /etc/rsyslog.conf:
*.info;mail.none;authpriv.none;cron.none /var/log/messages
只记录 warning 以上:
*.warning /var/log/syslog
例如忽略某服务:
:programname, contains, "docker" stop
将 syslog 转发到日志系统:
示例(rsyslog 转发):
*.* @@logserver:514
好处:
# 限制大小
/etc/systemd/journald.conf
SystemMaxUse=500M
systemctl restart systemd-journald
如果你能告诉我:
我可以给你更针对性的配置示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。