清理阿里云服务器系统盘占用文件时,需遵循“先诊断、后清理、再优化”的原则,避免误删关键系统文件。以下是安全有效的操作步骤:
一、快速诊断磁盘使用情况
-
查看整体磁盘使用率
df -h重点关注
/(根目录)的使用率,确认是哪个分区或挂载点占满。 -
定位大文件/大目录
# 查找根目录下大于 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 正常卸载
三、进阶优化建议
-
启用日志轮转(Log Rotation)
检查/etc/logrotate.conf及各子配置,确保日志自动压缩归档并定期删除。 -
迁移数据到数据盘
若业务数据(如网站文件、数据库)长期占用系统盘,建议:- 将数据目录软链接到已挂载的数据盘(如
/data/www→/mnt/data/www) - 修改应用配置文件指向新路径
- 将数据目录软链接到已挂载的数据盘(如
-
监控告警设置
在阿里云控制台配置云监控告警:- 路径:云监控 → 告警规则 → 创建规则
- 指标:磁盘使用率(阈值设为 80%)
- 通知方式:短信/邮件/钉钉
⚠️ 重要注意事项
- 禁止直接删除
/bin,/sbin,/lib,/usr,/etc等系统核心目录。 - 清理前建议对关键数据进行快照备份(阿里云控制台 → 云服务器 ECS → 实例 → 磁盘管理 → 创建快照)。
- 若不确定某文件作用,先用
file或lsof命令分析:lsof +D /path/to/directory # 查看哪些进程正在使用该目录下的文件
完成清理后,再次执行 df -h 验证空间释放效果。如仍无法满足需求,考虑扩容系统盘(阿里云支持在线扩容,但需注意文件系统扩展步骤)。
ECLOUD博客