Windows数据精准迁移到Centos,我的rsync实践与心得

Windows数据精准迁移到Centos,我的rsync实践与心得

原创 日常运维文档 [日常运维文档](javascript:void(0)😉 2023-12-24 09:00 发表于北京

最近在工作中遇到了一个技术挑战,需要将大量Windows服务器上的数据迁移到Centos系统,而且要求迁移速度得到精准控制,以防止网络拥塞。在尝试了传统的cp和scp后,我决定选用rsync工具来完成这一任务。在本篇文章中,我将分享我使用rsync进行数据迁移的经验,以及在此过程中遇到的挑战和解决方案。

首先,让我介绍一下我的迁移环境。我需要将Windows服务器上的两个共享文件夹中的数据,分别是“常用办公驱动及软件”和“Desktop”,迁移到Centos系统的特定目录中。为了实现精准控制迁移速度,我决定使用rsync工具,并按照以下步骤进行操作。

首先,我在Centos系统中编写了一个简单的Bash脚本来实现数据迁移的自动化。脚本中首先获取了脚本开始执行的时间戳,并安装了必要的工具,如cifs-utils和rsync。然后创建了两个本地目录分别用于挂载Windows共享文件夹,接着使用mount命令将Windows共享文件夹挂载到本地目录中。

接下来是rsync的关键部分。我使用了–bwlimit=30M参数来精准控制数据迁移的速度,确保不会导致网络拥塞。然后,我运行了两个rsync命令,分别将Windows共享文件夹中的数据同步到Centos系统的指定目录下。

最后,脚本输出了执行开始和结束的时间戳,并计算了脚本执行的时间差,以便我能够了解整个数据迁移过程的耗时情况。以下是全部代码:

#!/bin/bash

start_time=$(date +%s)  # 获取脚本开始执行的时间戳

date

yum install cifs-utils -y

yum install rsync -y

mkdir /mnt/office_share

mkdir /mnt/Desktop_share

mount -t cifs -o username=rcywwd,password=123456,vers=3.0 //10.*.*.*/office_share /mnt/office_share

mount -t cifs -o username=rcywwd,password=123456,vers=3.0 //10.*.*.*/Desktop_share /mnt/Desktop_share

rsync --bwlimit=30M -av /mnt/office_share/* /home/rcywwd/

rsync --bwlimit=30M -av /mnt/Desktop_share/* /home/rcywwd/

date

end_time=$(date +%s)  # 获取脚本执行结束的时间戳

execution_time=$((end_time - start_time))  # 计算脚本执行的时间差

echo "脚本执行时间为:${execution_time} 秒"

image-20231226151738698

image-20231226151756150

在实际操作中,我发现rsync工具的精准控制功能非常好用,能够很方便地实现我对数据迁移速度的精准控制。与传统的cp和scp相比,rsync在大量数据迁移中表现出色,不仅迁移速度稳定,而且还能够实现增量同步,大大减少了数据迁移的时间和网络流量消耗。

在这次的实践中,我深切体会到了技术的创新与实践的重要性。通过不断尝试和探索,我找到了最适合当前需求的解决方案,也积累了宝贵的经验。我相信,技术始终是要与时俱进的,只有不断学习和实践,才能在工作中做出更多的创新。

总的来说,通过rsync工具的精准控制,我成功完成了对Windows服务器数据向Centos系统的迁移任务。在此过程中,我也不断总结经验,不断优化迁移方案,才最终取得了成功。希望我的经验分享能够对你在类似任务中遇到的挑战有所帮助,也希朝能够在探索中有所收获。

最后,谢谢你的阅读,如果你对我的经验分享有任何疑问或意见,欢迎在评论区留言,我会及时与你交流讨论。也欢迎关注我的公众号,一起探讨更多有趣的技术话题!

posted @ 2023-12-26 15:21  寻梦99  阅读(155)  评论(0)    收藏  举报