上一篇 下一篇 分享链接 返回 返回顶部

服务器磁盘不够用了怎么办,怎么清理?

发布人:优优 发布时间:15小时前
服务器磁盘清理的核心是先定位占用空间的 “大户”,再按 “可安全删除”“可迁移归档” 分类处理,避免误删系统或业务文件。

第一步:检查磁盘整体使用情况

先明确哪个分区已满,避免在空分区上做无用功。
 
使用核心命令 df -h,输出结果会显示各分区的总容量、已用、可用空间及挂载点。
 
  • 重点关注 Use% 列,超过 85% 的分区需要优先处理。
  • 例如 /dev/vda1 挂载在 /(根目录),若 Use% 达 95%,则需重点清理根目录下的文件。

第二步:定位大文件与高占用目录

知道哪个分区满了后,进一步找到具体占用空间的文件 / 目录。
 
  1. 查看目录占用:进入目标分区(如 cd /),执行 du -sh *,按大小排序显示所有一级目录的占用情况(-s 汇总,-h 人性化单位)。
    • 比如发现 var/ 目录占了 200G,就继续深入 cd var/ 再执行 du -sh *,逐步缩小范围。
  2. 直接找大文件:执行 find / -type f -size +100M 2>/dev/null,快速定位所有超过 100M 的文件(2>/dev/null 屏蔽权限不足的错误信息)。
    • 可根据实际情况调整大小,如 +1G 找超过 1G 的超大文件。

第三步:分类清理(按 “安全优先级” 排序)

找到占用源后,按以下类别处理,优先删 “无风险、非业务相关” 的文件。

1. 日志文件(最常见的占用源)

服务器日志(系统日志、应用日志)会持续增长,且大部分旧日志无实时用途。
 
  • 系统日志:路径通常是 /var/log/,如 messagessecurenginx/access.log 等。
    • 清理方法:不要直接 rm 正在写入的日志(会导致应用报错),用 truncate -s 0 日志文件名 清空内容(保留文件句柄)。
    • 长期方案:配置 日志轮转(logrotate),让系统自动压缩、删除旧日志(一般系统默认已配置,可检查 /etc/logrotate.conf)。
  • 应用日志:如 Java 应用的 logs/、Python 应用的 app.log,按业务需求保留近 1-7 天的日志,旧日志可压缩(gzip 日志文件)或删除。

2. 临时文件

系统和应用会生成临时文件,大部分重启后可删除,路径通常是 /tmp/ 和 /var/tmp/
 
  • 清理方法:执行 rm -rf /tmp/*(建议先 ls /tmp/ 确认无重要文件,一般 /tmp/ 下都是临时缓存)。
  • 注意:部分应用可能在 /tmp/ 存运行时文件,若清理后应用报错,重启应用即可。

3. 备份与归档文件

服务器可能留存数据库备份(如 mysql_backup_202401.sql)、配置备份等,这类文件可迁移到外部存储(如 NAS、云存储),释放本地磁盘。
 
  • 处理方法:用 scp 或 rsync 将备份文件传到外部设备,再删除本地文件(删除前务必确认外部已保存成功)。

4. 无用安装包与缓存

包管理工具(yum、apt)会缓存安装包,长期不清理会占用空间。
 
  • CentOS/RHEL:执行 yum clean all 清理所有 yum 缓存。
  • Ubuntu/Debian:执行 apt clean 清理已下载的安装包(.deb 文件)。
  • 此外,可删除未使用的软件包:yum remove 无用软件名 或 apt purge 无用软件名(如旧版本的 JDK、不再使用的服务)。

第四步:关键注意事项(避免 “删崩” 服务器)

  1. 清理前备份:对不确定的文件(如业务相关的配置、数据文件),先备份到其他存储,再操作。
  2. 不碰系统核心文件:严禁删除 /bin//sbin//lib//etc/ 下的系统文件,误删会导致服务器无法启动。
  3. 避开业务高峰期:清理大文件(如几十 G 的日志)时,可能占用 IO,建议在业务低峰期(如凌晨)操作。
  4. 检查文件是否被占用:用 lsof 文件名 查看文件是否被进程占用,若显示有进程,先停止进程再清理(或用 truncate 清空)。

宝塔面板

占用磁盘较大的一般都是日志文件、备份文件,可以关闭网站日志,设置合理的备份文件数量。
 
最后磁盘扩容,理论上带有数据的磁盘,我们不建议大家扩容,如果您懂技术,可以联系我们付费升级磁盘容量,按照我们的教程自行扩容磁盘容量,不懂的最好别扩容,直接换机器就行。
添加企业微信 添加企业微信
企业微信客服 企业微信客服
服务热线: 400 888 9543
电子邮箱: service@cn2.hk