使用journalctl命令
journalctl --disk-usage。sudo journalctl --vacuum-time=7d(保留7天内日志)。sudo journalctl --vacuum-size=500M(保留500MB以内日志)。使用logrotate工具
sudo logrotate -f /etc/logrotate.conf。/etc/logrotate.d/下对应服务的配置文件(如/etc/logrotate.d/rsyslog),设置轮转周期(daily/weekly)、保留天数(rotate 7)、压缩(compress)等参数。手动清理(谨慎操作)
sudo truncate -s 0 /var/log/syslog。sudo find /var/log -type f -name "*.log" -mtime +7 -delete(删除7天前日志)。/var/log目录下所有文件,可能导致系统异常。journalctl --disk-usage或ls -lh /var/log监控日志占用情况,建议每周至少清理一次。cp /var/log/syslog /backup/备份关键日志。crontab设置定时任务,例如每天凌晨执行日志轮转:sudo crontab -e
# 添加以下内容(每天0点执行)
0 0 * * * /usr/sbin/logrotate /etc/logrotate.conf
```。
| 工具 | 适用场景 | 优势 |
|---|---|---|
| journalctl | 系统级日志(systemd管理) | 按时间/大小精准清理,无需配置文件 |
| logrotate | 应用程序日志(如Nginx) | 支持轮转、压缩、保留历史记录 |