温馨提示×

怎么迁移CentOS数据

小樊
60
2026-08-19 06:53:05
栏目: 智能运维

迁移 CentOS 系统数据 常见有几种场景,不同场景做法不一样。下面按最常见需求给你一个清晰、可操作的方案汇总。


一、先明确迁移场景(很重要)

场景 建议方案
同服务器换硬盘 rsync / dd
服务器之间迁移 rsync + scp
升级系统(CentOS 7→8/Stream) 全新安装 + 数据迁移
迁移到新服务器(云/物理) 备份 + 恢复
只迁移网站/数据库 单独备份

二、通用数据迁移方案(最常用 ✅)

✅ 方案 1:rsync 迁移(推荐)

适合:

  • 服务器 A → 服务器 B
  • 保留权限、时间、软链接

1️⃣ 在目标服务器安装 rsync

yum install -y rsync

2️⃣ 从源服务器同步数据

rsync -avz --progress /data/ root@目标IP:/data/

常用参数说明:

-a  归档模式(保留权限、时间等)
-v  显示过程
-z  压缩传输
-P  显示进度 + 断点续传
--exclude  排除目录

3️⃣ 排除示例

rsync -avz --exclude='cache' --exclude='logs' /var/www/ root@IP:/var/www/

三、系统级迁移(整盘 / 整系统)

✅ 方案 2:dd(不推荐新手)

⚠️ 风险极高,会直接复制磁盘

dd if=/dev/sda of=/dev/sdb bs=64K status=progress

✅ 仅适合:

  • 硬盘对拷
  • 同硬件环境

四、网站 + 数据库迁移(最常见)

1️⃣ 迁移网站文件

rsync -avz /var/www/html/ root@新服务器IP:/var/www/html/

2️⃣ 迁移数据库(以 MySQL 为例)

导出数据库

mysqldump -u root -p --all-databases > all.sql

传到新服务器

scp all.sql root@新IP:/root/

新服务器导入

mysql -u root -p < all.sql

五、用户 / 权限 / 服务迁移

迁移用户

rsync -avz /etc/passwd /etc/shadow /etc/group root@新IP:/etc/

⚠️ 不建议直接覆盖,容易破坏系统

迁移服务配置

rsync -avz /etc/nginx/ root@IP:/etc/nginx/
rsync -avz /etc/systemd/ root@IP:/etc/systemd/

六、CentOS 停服后的迁移建议(重要 ⚠️)

CentOS 7 已 EOL(停止维护),建议:

✅ 最佳方案

  • 新服务器安装:
    • Rocky Linux
    • AlmaLinux
    • Debian / Ubuntu
  • 迁移数据 + 应用

❌ 不推荐

  • 继续裸跑 CentOS 7
  • 直接升级系统内核

七、迁移前检查清单 ✅

  • [ ] 数据已备份
  • [ ] 确认磁盘空间
  • [ ] 确认网络连通
  • [ ] 数据库已停止或锁表
  • [ ] 记录防火墙 / SELinux 状态

八、我可以帮你定制方案

你可以直接告诉我:

1️⃣ 是 CentOS 几?
2️⃣ 是 物理机 / 云服务器?
3️⃣ 迁移到 新服务器 / 新系统?
4️⃣ 主要跑的是 网站 / 数据库 / Docker / 其他?

我可以直接给你一条 可执行命令清单,避免踩坑。

0