怎么清理服务器磁盘日志?
清理服务器日志文件是一个非常重要的系统维护任务,如果处理不当,可能会引发磁盘空间耗尽、服务器宕机甚至数据丢失的风险。这两天有位网友就反映说网站磁盘空间耗尽,服务器宕机,网站打不开了。我也开始怕磁盘满了,没事也来清理下日志,通过咨询AI(DeepSeek),给出了一个从基础到高级,从安全到自动化的完整指南。这里我就不去直接全部复制粘贴过来了,我把在本站操作的过程给记录下来。
这里说的清理方法是通过SSH终端操作的。
1.删除旧的日志文件(谨慎使用)
如果你确定某些日志文件已经完全不再使用(例如已被轮替压缩的旧文件),可以删除它们。
使用 find 命令删除超过 N 天的日志文件:
# 查找并删除 /var/log 目录下所有扩展名为 .log 且超过 30 天的文件
sudo find /var/log -name "*.log" -type f -mtime +30 -delete警告: 使用 -delete 参数前,强烈建议先不加 -delete 运行一次,确认找到的文件列表是正确的。
# 先预览将会被删除的文件列表
sudo find /var/log -name "*.log" -type f -mtime +30
# 确认无误后,再加上 -delete 执行删除
sudo find /var/log -name "*.log" -type f -mtime +30 -delete
2.查看当前日志占用的磁盘空间:
通过上面第一步的删除,没看到空间的变化,那就来看看日志占用了多少空间
journalctl --disk-usage
可以看到日志占用了4G。
3.手动清理指定时间之前的日志
# 清理 7 天前的日志
sudo journalctl --vacuum-time=7d我是选的清除3天前的日志,因当时忘记截图,后面又再次执行1天前的清除:
当时通过查看日志的占用是只有56M了
操作上面动作之前查看的删除3天前的占用
看来这两天的日志占用还是很大的,近700M了。然后通过查看空间磁盘使用情况如下:
磁盘腾出了4G多的空间,还是很有必要作日志清空的维护。
如果觉得网站稳定没有必要留存太多日志,那就操作最后一步,可以减少维护的工作量。
4.限制日志最大大小
# 编辑配置文件
sudo vim /etc/systemd/journald.conf
# 修改或添加 SystemMaxUse=500M 来限制最大占用 500MB 磁盘空间
# 然后重启服务
sudo systemctl restart systemd-journald上面的不会操作,就试试下面这条命令
# 或者限制总日志大小不超过 500M
sudo journalctl --vacuum-size=500M总结流程建议:
应急处理:如果磁盘快满了,立即用 truncate -s 0 清空最大的几个 .log 文件。
长期方案:分析日志来源,为每个服务配置合适的(自动化)logrotate规则。
预防措施:设置磁盘空间监控告警,定期检查日志轮替是否正常工作。
遵循这些方法,你就可以安全、有效、自动化地管理好服务器日志了。
页:
[1]