温馨提示×

怎样清理linux历史日志

小樊
39
2026-09-23 18:17:00
栏目: 智能运维

在 Linux 系统中,“历史日志”通常指 系统日志、应用日志、命令历史 等。下面按常见场景给你一套安全、实用的清理方法。


一、清理系统日志(最常见)

1️⃣ 使用 journalctl(systemd 系统)

适用于 CentOS 7+/Ubuntu 16.04+

# 查看日志占用
journalctl --disk-usage

# 只保留最近 7 天
journalctl --vacuum-time=7d

# 只保留 500MB
journalctl --vacuum-size=500M

✅ 推荐方式,安全不破坏系统


2️⃣ 清理 /var/log 下的日志文件

常见日志:

  • /var/log/messages
  • /var/log/secure
  • /var/log/syslog
  • /var/log/nginx/
  • /var/log/httpd/

方法一:清空而不是删除(推荐)

> /var/log/messages
> /var/log/secure

方法二:使用 logrotate(规范做法)

logrotate -f /etc/logrotate.conf

二、清理用户命令历史

1️⃣ 清除当前用户历史

history -c
> ~/.bash_history

2️⃣ 清除所有用户历史(谨慎)

rm -f /home/*/.bash_history

三、清理审计 & 安全日志(运维/安全场景)

> /var/log/audit/audit.log
> /var/log/wtmp
> /var/log/btmp

查看登录记录:

last
lastb

四、自动化清理(推荐)

示例:定时清理 30 天前日志

find /var/log -type f -mtime +30 -exec rm -f {} \;

加入 crontab:

0 2 * * * find /var/log -type f -mtime +30 -delete

五、⚠️ 注意事项(很重要)

  • ❌ 不要直接 rm -rf /var/log
  • ✅ 优先使用 journalctl / logrotate
  • ✅ 生产环境清理前先备份
  • ✅ 合规环境(等保/审计)禁止随意清理

六、如果你愿意,我可以:

  • 按 CentOS / Ubuntu 给精确命令
  • 帮你写 日志清理脚本
  • 教你 如何防止日志无限增长

你是 服务器运维 / 安全清理 / 释放磁盘空间 哪种需求?

0 踩