centos7.9如何清理日志?
美国、香港服务器
centos7.9如何清理日志?
10-19 来源:
## 、journald 系统日志(systemd 日志)
### 1. 查看当前 journal 占用空间
journalctl --disk-usage
### 2. 手动清理
只保留最近 7 天日志:
journalctl --vacuum-time=7d
限制日志最大 500M,超出自动删除旧日志:
journalctl --vacuum-size=500M
### 3. 永久设置 journal 最大占用(可选)
编辑配置
vi /etc/systemd/journald.conf
修改:
SystemMaxUse=500M
SystemMaxFileSize=100M
重启生效
systemctl restart systemd-journald
## 二、logrotate 应用日志(Nginx、宝塔、MySQL 等)
logrotate 默认自带,负责切割 `/var/log/`、宝塔 `/www/wwwlogs/` 日志。
### 手动强制执行日志切割(立即轮转)
logrotate -f /etc/logrotate.conf
### 查看 logrotate 状态
logrotate -d /etc/logrotate.conf
### 宝塔 Nginx 日志单独清理
宝塔站点日志目录:`/www/wwwlogs/`
正确清空(不要 rm 正在写入的日志)
#清空单个日志文件
> /www/wwwlogs/demo.com.log
> /www/wwwlogs/demo.com.error.log
如果你想直接删除旧的已轮转压缩日志(xxx.log-20261019.gz)
find /www/wwwlogs/ -name "*.log-*.gz" -mtime +30 -delete
含义:删除 30 天前的 nginx 归档日志
## 三、常用目录手动清理命令(安全方式)
### /var/log 系统旧日志(*.gz 归档日志)
find /var/log -name "*.gz" -mtime +30 -delete
### 清理系统临时目录
rm -rf /tmp/*
rm -rf /var/tmp/*
### 清理 yum 缓存
yum clean all
四、⚠️重要注意事项
1. **正在被程序写入的日志,不要用 rm**,rm 后文件句柄不释放,磁盘空间不会立刻释放,推荐用 `> 日志文件` 清空。
2. Nginx 清空日志后,需要重载 Nginx,释放句柄:
systemctl reload nginx
3. MySQL 慢日志 / 错误日志同样用 `> 文件名` 清空。
## 五、定时任务:自动清理旧日志(crontab)
crontab -e
添加:每天凌晨 3 点清理 30 天前的压缩日志
0 3 * * * find /www/wwwlogs/ -name "*.log-*.gz" -mtime +30 -delete; journalctl --vacuum-time=7d
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快