阿里云磁盘清理指南

当阿里云服务器磁盘空间不足时,可以通过以下步骤清理和排查问题:


一、检查磁盘使用情况

# 查看磁盘整体使用情况(确认哪个分区已满)
df -h

# 示例输出:
# Filesystem      Size  Used Avail Use% Mounted on
# /dev/vda1       40G   39G   0G  100% /

二、定位大文件或目录

  1. 快速查找大目录

    # 查看根目录下各文件夹大小(按大小倒序)
    du -sh /* | sort -rh
    

    通常检查 /var/usr/home 等目录。

  2. 逐层深入定位
    进入占用较大的目录,重复使用 du 命令:

    cd /var
    du -sh * | sort -rh
    
  3. 使用工具查找大文件

    # 查找大于100MB的文件(按需调整数值)
    find / -type f -size +100M -exec ls -lh {} \; 2>/dev/null | awk '{ print $9 ": " $5 }'
    

三、常见清理场景

1. 清理日志文件
  • 系统/服务日志

    # 查看/var/log目录大小
    du -sh /var/log
    
    # 清理旧日志(谨慎操作!)
    sudo rm /var/log/*.log.*  # 删除轮转后的历史日志
    sudo truncate -s 0 /var/log/syslog  # 清空正在写入的日志(需确认服务支持)
    
  • Nginx/Apache日志
    检查 /var/log/nginx/var/log/httpd,清理旧日志文件。

2. 清理临时文件
# 清理系统临时文件
sudo rm -rf /tmp/*

# 清理用户缓存(如apt、yum缓存)
sudo apt clean          # Debian/Ubuntu
sudo yum clean all      # CentOS/RHEL
3. 处理应用数据
  • MySQL/MariaDB
    清理二进制日志 (binlog):

    -- 登录MySQL后执行
    PURGE BINARY LOGS BEFORE '2023-01-01 00:00:00';
    
  • Docker
    清理无用的镜像、容器和卷:

    docker system prune -a --volumes
    
4. 其他可能占用
  • 用户上传文件:检查 /home 或自定义数据目录。
  • 备份文件:删除过期的备份文件(如 *.tar.gz*.bak)。

四、处理已删除但未释放空间的文件

如果文件被进程占用但已删除,需重启服务释放空间:

# 查找被删除但仍被进程占用的文件
lsof | grep deleted

# 根据输出结果,重启对应服务或进程
sudo systemctl restart nginx

五、预防措施

  1. 设置日志轮转
    使用 logrotate 配置日志自动分割和删除(如 Nginx、MySQL)。

  2. 监控磁盘使用

    • 阿里云控制台设置磁盘使用率报警。
    • 使用 crontab 定期清理临时文件。
  3. 扩容磁盘(可选)
    如果清理后仍不足,可在阿里云控制台 扩容云盘,并在系统内扩展分区。


注意事项

  • 谨慎删除文件:避免误删系统或应用关键文件。
  • 备份重要数据:清理前确认文件可删除,必要时备份。
  • 容器/数据库:清理前确保服务已停止或数据已持久化。

通过以上步骤,可快速释放磁盘空间并优化存储使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值