如何清理阿里云服务器系统盘的占用文件?

清理阿里云服务器系统盘占用文件时,需遵循“先诊断、后清理、再优化”的原则,避免误删关键系统文件。以下是安全有效的操作步骤:

一、快速诊断磁盘使用情况

  1. 查看整体磁盘使用率

    df -h

    重点关注 /(根目录)的使用率,确认是哪个分区或挂载点占满。

  2. 定位大文件/大目录

    # 查找根目录下大于 100M 的文件
    find / -type f -size +100M -exec ls -lh {} ; | awk '{print $9, $5}' | sort -k2 -hr | head -20
    
    # 查找根目录下最大的前 10 个目录
    du -ah / | sort -rh | head -n 10

二、常见可安全清理的目录及操作

✅ 日志文件(最常用)

# 清理旧日志(保留最近 7 天)
find /var/log -name "*.log" -mtime +7 -delete

# 清空当前日志文件(不删除文件本身,避免服务异常)
> /var/log/syslog
> /var/log/messages
> /var/log/auth.log

# 清理 apt/yum 包管理器缓存
apt-get clean          # Debian/Ubuntu
yum clean all          # CentOS/RHEL

✅ 临时文件与缓存

# 清理 /tmp(注意:部分应用可能依赖此处)
rm -rf /tmp/* 
# 更安全的做法:仅清理过期文件
find /tmp -type f -atime +3 -delete

# 清理 Docker 无用资源(如适用)
docker system prune -a --volumes

✅ 历史命令与 Shell 缓存

# 清除 bash 历史记录
history -c
echo "" > ~/.bash_history

✅ 软件包残留(谨慎操作)

# Ubuntu/Debian: 移除未使用的依赖
apt-get autoremove

# CentOS/RHEL: 清理 RPM 缓存
rpm -qa | xargs rpm -e --nodeps  # ❌ 高风险!仅用于明确知道要卸载的包
# 推荐:通过 yum remove 正常卸载

三、进阶优化建议

  1. 启用日志轮转(Log Rotation)
    检查 /etc/logrotate.conf 及各子配置,确保日志自动压缩归档并定期删除。

  2. 迁移数据到数据盘
    若业务数据(如网站文件、数据库)长期占用系统盘,建议:

    • 将数据目录软链接到已挂载的数据盘(如 /data/www/mnt/data/www
    • 修改应用配置文件指向新路径
  3. 监控告警设置
    在阿里云控制台配置云监控告警:

    • 路径:云监控 → 告警规则 → 创建规则
    • 指标:磁盘使用率(阈值设为 80%)
    • 通知方式:短信/邮件/钉钉

⚠️ 重要注意事项

  • 禁止直接删除 /bin, /sbin, /lib, /usr, /etc 等系统核心目录。
  • 清理前建议对关键数据进行快照备份(阿里云控制台 → 云服务器 ECS → 实例 → 磁盘管理 → 创建快照)。
  • 若不确定某文件作用,先用 filelsof 命令分析:
    lsof +D /path/to/directory  # 查看哪些进程正在使用该目录下的文件

完成清理后,再次执行 df -h 验证空间释放效果。如仍无法满足需求,考虑扩容系统盘(阿里云支持在线扩容,但需注意文件系统扩展步骤)。

未经允许不得转载:ECLOUD博客 » 如何清理阿里云服务器系统盘的占用文件?