我的知识记录

磁盘空间不足提示“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 命令,防止误删关键文件
  • 若为云服务器,考虑扩容硬盘或迁移部分数据至外部存储
  • 定期检查磁盘使用率,建立自动化清理机制
通过合理清理日志、优化存储结构和设置自动轮转策略,可以有效解决“Disk full”问题,保障服务器稳定运行。

磁盘空间不足提示“Disk full”如何处理?日志怎么删?

标签:磁盘空间不足- Disk full- 日志清理- 服务器维护- 存储优化

更新时间:2025-05-30 15:12:08

上一篇:网站色彩对比度标准?可访问性合规检测工具!

下一篇:网站显示服务器停止响应