磁盘空间不足提示“Disk full”如何处理?日志怎么删?
在服务器运行过程中,遇到“Disk full”提示是常见的运维问题。这通常是由于系统日志、缓存文件、数据库日志或临时文件堆积所致。及时清理冗余数据、释放磁盘空间,是保障服务稳定的关键操作。
查看具体目录大小:
进一步定位大文件目录:
一、“Disk full”提示的常见原因
原因 | 描述 |
---|---|
日志文件过大 | 如Nginx、MySQL、系统日志持续增长 |
缓存文件未清理 | OPcache、Redis、CDN缓存等占用大量空间 |
临时文件残留 | /tmp 或 /var/tmp 目录下堆积过多临时文件 |
数据库日志膨胀 | MySQL的binlog、PostgreSQL的日志未定期清理 |
用户上传文件过多 | 如图片、视频、附件等未及时归档或删除 |
二、快速排查磁盘使用情况
执行以下命令查看磁盘占用:bash
df -h
bash
du -sh /*
bash
du -ah /path/to/dir | sort -rh | head -n 20
三、日志文件清理方法
方法1:手动删除日志文件
bash
# 清空Nginx/Apache日志 > /www/logs/nginx/access.log > /www/logs/apache/error.log # 删除MySQL慢查询日志 rm /var/log/mysql/mysql-slow.log
注意:清空前最好备份重要日志数据
方法2:设置日志自动轮转(Logrotate)
编辑配置文件/etc/logrotate.conf
或新增自定义规则:
conf
/var/log/nginx/*.log { daily missingok rotate 14 compress delaycompress notifempty create 0640 www-data adm }
此配置将保留14天日志,并压缩归档
方法3:启用宝塔面板日志清理功能
- 登录宝塔 → 网站管理 → 找到目标站点 → 点击“日志” → 清除或压缩日志
四、其他存储优化建议
类型 | 建议做法 |
---|---|
清理系统缓存 | 使用 echo 3 > /proc/sys/vm/drop_caches 释放内存缓存 |
删除无用镜像 | Docker环境中删除不再使用的镜像和容器 |
归档历史数据 | 将旧日志或数据库导出至对象存储(如OSS、S3) |
设置自动监控 | 使用Zabbix、Prometheus等监控磁盘使用情况并告警 |
五、注意事项
- 删除前确认日志是否对故障排查有帮助
- 不建议频繁使用
rm -rf
命令,防止误删关键文件 - 若为云服务器,考虑扩容硬盘或迁移部分数据至外部存储
- 定期检查磁盘使用率,建立自动化清理机制
更新时间:2025-05-30 15:12:08
下一篇:网站显示服务器停止响应