数据迁移使用指南
本指南提供了如何在旧服务器上使用 screen 和 rsync 来迁移数据到新服务器的详细步骤。
开始之前
确保旧服务器和新服务器的 SSH 访问已经设置,并且新服务器的目标目录已创建并具有适当的权限。
安装 Screen
在旧服务器上执行以下步骤安装 screen 工具,以便在后台运行长时间的命令,如 rsync。
Debian/Ubuntu 系统
sudo apt update
sudo apt install screen
CentOS/RHEL 系统
sudo yum install screen
使用 Screen 运行 Rsync
步骤 1: 启动 Screen 会话
打开一个终端或SSH到旧服务器,然后输入以下命令来启动一个名为 DataMigration 的新 screen 会话:
screen -S DataMigration
步骤 2: 执行 Rsync 命令
在 screen 会话中,使用以下 rsync 命令开始数据同步:
rsync -avz –progress /path/to/source/ username@new-server-ip:/path/to/destination/
确保替换 /path/to/source/ 和 /path/to/destination/ 为你的实际路径,username 和 new-server-ip 为新服务器的登录凭证和IP地址。
步骤 3: 断开 Screen 会话
一旦 rsync 开始运行,按 Ctrl-A 然后按 D 来断开 screen 会话。这将允许 rsync 在后台运行,即使你断开SSH连接或关闭终端。
步骤 4: 重新连接到 Screen 会话
要检查进程或再次连接到 screen 会话,使用以下命令:
screen -r DataMigration
注意事项
在迁移过程中,请定期检查数据同步的进度和状态。
确保网络连接稳定,以避免不必要的中断。
完成迁移
迁移完成后,仔细检查新服务器上的数据以确认数据完整性和一致性。
要检查数据迁移是否完成,你可以采用以下几种方法来验证和确保数据的完整性和一致性:
1. 检查 rsync 输出
rsync 会在执行过程中输出每个文件的同步状态。当 rsync 命令完成时,它通常会显示一个总结,包括传输的文件数量、总数据量、传输速度等信息。
重新连接到 screen 会话查看 rsync 进程的输出,确认是否有“完成”或“错误”相关的消息。
2. 比较文件数量和大小
在旧服务器和新服务器上分别计算目标目录中的文件数量和总大小,使用如下命令:
cd /path/to/directory
find . -type f | wc -l # 计算文件数量
du -sh # 查看总大小
保两个服务器上的文件数量和总大小匹配。
3. 校验文件完整性
使用 md5sum 或 sha256sum 对关键文件生成校验和,并比较旧服务器和新服务器上的值:
find /path/to/directory -type f -exec md5sum {} + > checksums_old.txt
在新服务器上重复相同的命令,但输出到不同的文件,然后比较两个文件:
diff checksums_old.txt checksums_new.txt
如果输出为空,则文件没有损坏且完整。
4. 检查日志文件和错误报告
检查 rsync 日志(如果你设置了日志记录)或在终端中查找任何错误信息。
如果遇到错误,rsync 通常会输出错误代码和描述,这些信息有助于诊断问题。
5. 手动检查重要文件
对于特别重要或敏感的数据,手动打开并检查一些文件以确保它们没有损坏,特别是那些格式或数据容易受损的文件。
6. 使用第三方工具
使用文件比较工具,如 Beyond Compare 或 rsync 自身的 –dry-run 选项来模拟一次同步并查看哪些文件将被传输。如果没有文件需要同步,通常意味着第一次同步已经成功。
7. 验证应用功能
如果迁移的是应用数据,启动应用并检查其核心功能以确保数据迁移后一切正常工作。
通过这些方法,你可以有效地检查数据迁移的完成情况及其准确性。如果有任何问题或异常,你可能需要重新运行 rsync,特别是在发现不一致或差异时。