清理阿里云服务器系统盘占用的文件,可以有效释放磁盘空间、避免因磁盘满导致服务异常。以下是详细的清理步骤和建议:
一、检查磁盘使用情况
-
查看磁盘使用情况
df -h查看各分区的使用率,重点关注
/(根目录)或/boot等系统盘挂载点。 -
查看大文件/目录占用
du -sh /* 2>/dev/null | sort -hr | head -10显示根目录下占用最大的前10个目录。
或者进入具体目录进一步分析:
cd / du -sh * 2>/dev/null | sort -hr | head -10
二、常见可清理的文件类型
1. 日志文件清理
- 系统日志通常位于
/var/log# 查看大日志文件 du -sh /var/log/* | sort -hr | head -10
清理旧日志(谨慎操作)
sudo truncate -s 0 /var/log/messages
sudo truncate -s 0 /var/log/syslog
sudo truncate -s 0 /var/log/nginx/.log # 如果是Nginx
sudo truncate -s 0 /var/log/apache2/.log # 如果是Apache
> ⚠️ 建议:不要直接 `rm` 删除正在写入的日志,应使用 `truncate` 或配合 `logrotate` 管理。
#### 2. **临时文件清理**
```bash
sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*
3. YUM/APT 缓存清理(根据系统)
-
CentOS/RHEL(YUM/DNF)
sudo yum clean all # 或 DNF 系统 sudo dnf clean all -
Ubuntu/Debian(APT)
sudo apt-get clean sudo apt-get autoclean sudo apt-get autoremove
4. 旧内核清理(Ubuntu/CentOS)
多次升级后可能残留旧内核,占用 /boot 空间。
-
Ubuntu:
# 查看当前内核 uname -r # 列出所有已安装内核 dpkg --list | grep linux-image # 删除旧内核(保留当前使用的) sudo apt-get purge linux-image-5.4.0-xx-generic -
CentOS:
# 查看当前内核 uname -r # 列出所有内核 rpm -q kernel # 删除旧内核(保留至少一个) sudo yum remove kernel-3.10.0-xxx.el7.x86_64
5. Docker 相关清理(如使用 Docker)
# 清理无用镜像、容器、网络、构建缓存
docker system prune -a --volumes
# 查看磁盘使用情况
docker system df
6. 应用日志或临时数据
- 检查 Web 应用(如 Nginx、Tomcat、Node.js)的日志目录。
- 删除无用的测试文件、备份文件(如
*.tar.gz,*.bak)。 - 示例:
find /home -name "*.log" -size +100M -exec ls -lh {} ; find /root -name "*.tar*" -o -name "*.bak" -o -name "*.old"
三、设置自动清理策略(推荐)
-
配置 logrotate 自动轮转日志
- 默认已启用,检查配置:
cat /etc/logrotate.conf ls /etc/logrotate.d/ - 可自定义应用日志轮转规则。
- 默认已启用,检查配置:
-
定时任务清理临时文件
添加 crontab 任务定期清理:crontab -e添加:
0 3 * * * /usr/bin/find /tmp -type f -atime +7 -delete 0 4 * * 0 /usr/bin/yum clean all >/dev/null 2>&1
四、注意事项
- 备份重要数据:删除前确认文件是否重要。
- 不要删除系统关键文件:如
/bin,/sbin,/lib,/etc中的配置文件。 - 监控工具推荐:使用
ncdu工具可视化分析磁盘占用:yum install ncdu # CentOS apt install ncdu # Ubuntu ncdu /
五、扩展系统盘(终极方案)
如果清理后仍空间不足,可考虑:
- 登录阿里云控制台 → 云服务器 ECS → 磁盘 → 扩容系统盘。
- 扩容后在系统中扩展分区(使用
growpart和resize2fs或xfs_growfs)。
总结
| 步骤 | 操作 |
|---|---|
| 1 | df -h 查看磁盘使用 |
| 2 | du -sh /* 找出大目录 |
| 3 | 清理日志、缓存、临时文件 |
| 4 | 删除旧内核、Docker 资源 |
| 5 | 设置自动清理任务 |
| 6 | 必要时扩容系统盘 |
通过以上方法,可安全有效地清理阿里云服务器系统盘空间。如有具体场景(如 WordPress、Java 应用等),可提供更多信息进一步优化建议。
云小栈