阿里云的磁盘空间使用超80%了清理下?

当阿里云ECS实例的磁盘使用率超过80%时,确实建议及时清理,以避免影响系统性能或服务运行。以下是一些常见的清理步骤和建议:


✅ 一、检查当前磁盘使用情况

  1. 登录ECS实例(SSH)

    ssh root@your_server_ip
  2. 查看磁盘使用情况

    df -h

    查看哪个分区(通常是 //dev/vda1)使用率过高。

  3. 查找大文件或大目录

    du -sh /* 2>/dev/null | sort -hr | head -10

    这会列出根目录下占用空间最大的前10个目录。


✅ 二、常见可清理内容

1. 清理系统日志

  • 日志通常位于 /var/log/

    # 查看大日志文件
    du -sh /var/log/* | sort -hr | head -10
    
    # 清理旧日志(谨慎操作)
    > /var/log/messages
    > /var/log/secure
    > /var/log/nginx/*.log  # 如果是Nginx
    > /var/log/yum.log

    ⚠️ 注意:不要直接删除日志文件,建议清空内容(> filename)或使用 logrotate 管理。

2. 清理YUM缓存(CentOS/RHEL)

   yum clean all
   rm -rf /var/cache/yum

3. 清理APT缓存(Ubuntu/Debian)

   apt-get clean
   apt-get autoremove

4. 清理Docker(如果使用)

   # 删除未使用的镜像、容器、卷
   docker system prune -a --volumes

⚠️ 谨慎使用 -a,会删除所有未使用的镜像。

5. 检查应用日志(如Nginx、Tomcat、Node.js等)

   # 例如Nginx日志
   ls -lh /var/log/nginx/
   > /var/log/nginx/access.log
   > /var/log/nginx/error.log

6. 删除临时文件

   rm -rf /tmp/*
   rm -rf /var/tmp/*

7. 检查是否有大文件上传或备份残留

   find / -type f -size +100M 2>/dev/null | xargs ls -lh

查找大于100MB的文件,确认是否可以删除。


✅ 三、长期建议

  1. 设置日志轮转(logrotate)
    确保 /etc/logrotate.conf 正常工作,避免日志无限增长。

  2. 定期清理脚本
    编写定时任务(crontab)自动清理缓存或日志:

    0 2 * * * /usr/bin/yum clean all
    0 3 * * * > /var/log/messages
  3. 扩容磁盘(可选)

    • 如果经常满,建议通过阿里云控制台 扩容系统盘或数据盘
    • 扩容后需在系统内使用 growpartresize2fs(ext4)或 xfs_growfs(xfs)调整分区大小。
  4. 挂载数据盘
    将日志、上传文件等目录移到数据盘,避免系统盘压力过大。


✅ 四、监控建议

  • 使用 阿里云云监控 设置磁盘使用率告警(如 >80% 发送通知)。
  • 安装 netdataprometheus+node_exporter 等工具做可视化监控。

🛠 示例:一键检查脚本(可选)

#!/bin/bash
echo "=== 磁盘使用情况 ==="
df -h

echo -e "n=== 最大10个目录 ==="
du -sh /* 2>/dev/null | sort -hr | head -10

echo -e "n=== 大于100M的文件 ==="
find / -type f -size +100M 2>/dev/null | xargs ls -lh 2>/dev/null | head -20

如果你提供具体系统类型(如 CentOS、Ubuntu)和用途(如Web服务器、数据库),我可以给出更精准的清理建议。

需要我帮你分析 df -hdu 的输出吗?可以贴出来看看。

未经允许不得转载:CLOUD技术博 » 阿里云的磁盘空间使用超80%了清理下?