加油
努力

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

清理阿里云服务器系统盘占用的文件,可以有效释放磁盘空间、避免因磁盘满导致服务异常。以下是详细的清理步骤和建议:


一、检查磁盘使用情况

  1. 查看磁盘使用情况

    df -h

    查看各分区的使用率,重点关注 /(根目录)或 /boot 等系统盘挂载点。

  2. 查看大文件/目录占用

    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"

三、设置自动清理策略(推荐)

  1. 配置 logrotate 自动轮转日志

    • 默认已启用,检查配置:
      cat /etc/logrotate.conf
      ls /etc/logrotate.d/
    • 可自定义应用日志轮转规则。
  2. 定时任务清理临时文件
    添加 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 /

五、扩展系统盘(终极方案)

如果清理后仍空间不足,可考虑:

  1. 登录阿里云控制台 → 云服务器 ECS → 磁盘 → 扩容系统盘。
  2. 扩容后在系统中扩展分区(使用 growpartresize2fsxfs_growfs)。

总结

步骤 操作
1 df -h 查看磁盘使用
2 du -sh /* 找出大目录
3 清理日志、缓存、临时文件
4 删除旧内核、Docker 资源
5 设置自动清理任务
6 必要时扩容系统盘

通过以上方法,可安全有效地清理阿里云服务器系统盘空间。如有具体场景(如 WordPress、Java 应用等),可提供更多信息进一步优化建议。

云服务器