
目的:找出占用最高的目录和可回收空间。
步骤:1) 查看分区使用:df -hT / /var /home;2) 查找大文件:du -ah / | sort -rh | head -n 50;3) 查看 inode:df -i;4) 列出最近修改的大文件:find / -type f -mtime -7 -exec ls -lh {} \; | sort -k5 -rn | head。
目的:为迁移或备份腾出最低可用空间(建议至少 10% 或具体业务阈值)。
步骤:1) 清理包管理缓存:apt clean / yum clean all;2) 清空临时文件:rm -rf /tmp/*(确认无运行进程);3) 压缩旧日志:gzip /var/log/*.log 或使用 logrotate;4) 删除已确认不需要的备份或旧镜像(先备份目录清单)。
目的:明确哪些是必须实时迁移(数据库、交易日志)、哪些可延后(历史文件)。
步骤:1) 列出数据类型并打标签(热/温/冷);2) 决定目标:本地扩容、香港其他机房、对象存储(S3/兼容)、或混合;3) 选择工具:rsync、scp、mysqldump、Percona xtrabackup、borg/duplicity、LVM 快照。
目的:无损迁移数据库并保证可回滚。
步骤:1) 在线热备选项:使用 mysqldump --single-transaction --quick --skip-lock-tables -u root -p dbname > /tmp/dbname.sql;或者使用 xtrabackup 完整备份;2) 压缩并校验:gzip dbname.sql && sha256sum dbname.sql.gz > dbname.sha256;3) 传输到目标:rsync -avz --progress /tmp/dbname.sql.gz user@target:/backup/;4) 在目标恢复并验证:gunzip < dbname.sql.gz | mysql -u root -p dbname;5) 对比记录数/校验和确认。
目的:最低停机时间内将大文件分批迁移。
步骤:1) 初始全量同步(离线或低峰):rsync -aAXv --exclude='cache' /data/ user@target:/data/ --progress;2) 增量同步(切换前):rsync -aAXv --delete --link-dest=/data/previous /data/ user@target:/data/;3) 使用 --bwlimit= 和 --partial 控制带宽和可续传;4) 验证:在目标运行 diff 或 rsync --checksum 检查一致性。
目的:在不停服务的情况下得到一致性快照,减少 downtime。
步骤:1) 如果采用 LVM:lvcreate --size 1G --snapshot --name snap_lv /dev/vg/data;2) 挂载快照并导出:mount /dev/vg/snap_lv /mnt/snap && rsync -a /mnt/snap/ target:/backup/;3) 删除快照:lvremove /dev/vg/snap_lv;4) 对数据库建议配合事务一致备份(flush tables with read lock 或 xtrabackup)。
目的:长期保留并节省本地磁盘容量。
步骤:1) 使用 s3cmd/awscli 配置访问(注意区域 ap-east-1 或供应商);2) 将压缩备份上传:aws s3 cp dbname.sql.gz s3://bucket/backup/ --storage-class STANDARD_IA;3) 对大文件使用 multipart upload;4) 建立生命周期规则自动转入冷存储并定期清理。
目的:保证备份可靠并能在需要时快速恢复。
步骤:1) 编写脚本封装上文命令并放入 /usr/local/bin/backup.sh;2) cron 示例:0 3 * * * /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1;3) 定期演练恢复:每月一次在隔离环境恢复并验证;4) 保持备份清单与校验和(sha256)记录。
目的:确认迁移成功后安全释放原空间并保留回滚路径。
步骤:1) 等待若干业务确认周期(如 7 天);2) 将旧数据移动到隔离目录并打包:tar czf /backup/old_data_YYYYMMDD.tar.gz /data/old && sha256sum;3) 在确认无误后删除本地旧文件;4) 保留恢复快照和恢复说明文档。
答:优先迁移“冷数据”和历史档案(低访问频率)以最快释放空间,同时对实时业务数据(数据库、交易日志)先做备份与增量同步,最后在业务低峰时切换主目录,顺序为:临时/缓存->历史文件->媒体大文件->数据库最终切换。
答:对数据库使用事务一致备份(mysqldump --single-transaction 或 xtrabackup),对文件使用 LVM/FS 快照或 rsync 初次全量+最后一次增量同步,并在切换前停止写入或设置维护模式,最后用校验和(sha256sum)比对。
答:采用“初始全量同步 + 增量 rsync + 在低峰做最后一次短停机切换”策略,可将停机时间控制到几分钟;对于数据库可用读写分离或主从切换(Promote slave)来进一步减少停机。