也想出现在这里? 联系我们

Linux中使用数据备份同步工具Rsync的实例教程

作者 : 小编 本文共2602个字,预计阅读时间需要7分钟 发布时间: 2022-10-28 共243人阅读
也想出现在这里? 联系我们

对于运维人员来说,数据备份是最重要的工作之一,rsync就是一款通过网络备份重要数据的工具/软件。

Rsync同样是一个在类Unix和Window系统上通过网络在系统间同步文件夹和文件的网络协议,它可以复制或者显示目录并复制文件。rsync默认监听TCP 873端口,通过远程shell如rsh和ssh复制文件。同时要求必须在远程和本地系统上都安装sync。

Linux上如果没有安装,装起来也很简单:

复制代码

代码如下:

# sudo apt-get install rsync #在debian、ubuntu 等在线安装方法; # yum install rsync #Fedora、Redhat 等在线安装方法; # rpm -ivh rsync #Fedora、Redhat 等rpm包安装方法;

rsync的主要优点是:

速度:最初会在本地和远程之间拷贝所有内容。下次,只会传输发生改变的块或者字节。

安全:传输可以通过ssh协议加密数据。

低带宽:rsync可以在两端压缩和解压数据块。

sync命令语法:

复制代码

代码如下:

#rsysnc [options] source path destination path

以下将根据sync的参数和应用场景来给大家介绍具体的用法:

示例: 1 – 启用压缩

复制代码

代码如下:

[root@localhost /]# rsync -zvr /home/aloft/ /backuphomedirbuilding file list … done.bash_logout.bash_profile.bashrcsent 472 bytes received 86 bytes 1116.00 bytes/sectotal size is 324 speedup is 0.58

上面的rsync命令使用了-z来启用压缩,-v是可视化,-r是递归。上面在本地的/home/aloft/和/backuphomedir之间同步。

示例: 2 – 保留文件和文件夹的属性

复制代码

代码如下:

[root@localhost /]# rsync -azvr /home/aloft/ /backuphomedirbuilding file list … done./.bash_logout.bash_profile.bashrcsent 514 bytes received 92 bytes 1212.00 bytes/sectotal size is 324 speedup is 0.53

上面我们使用了-a选项,它保留了所有人和所属组、时间戳、软链接、权限,并以递归模式运行。

示例: 3 – 同步本地到远程主机

复制代码

代码如下:

root@localhost /]# rsync -avz /home/aloft/ azmath@192.168.1.4:192.168.1.4:/share/rsysnctest/Password:building file list … done./.bash_logout.bash_profile.bashrcsent 514 bytes received 92 bytes 1212.00 bytes/sectotal size is 324 speedup is 0.53

上面的命令允许你在本地和远程机器之间同步。你可以看到,在同步文件到另一个系统时提示你输入密码。在做远程同步时,你需要指定远程系统的用户名和IP或者主机名。

示例: 4 – 远程同步到本地

复制代码

代码如下:

[root@localhost /]# rsync -avz azmath@192.168.1.4:192.168.1.4:/share/rsysnctest/ /home/aloft/Password:building file list … done./.bash_logout.bash_profile.bashrcsent 514 bytes received 92 bytes 1212.00 bytes/sectotal size is 324 speedup is 0.53

上面的命令同步远程文件到本地。

示例: 5 – 找出文件间的不同

复制代码

代码如下:

[root@localhost backuphomedir]# rsync -avzi /backuphomedir /home/aloft/building file list … donecd+++++++ backuphomedir/>f+++++++ backuphomedir/.bash_logout>f+++++++ backuphomedir/.bash_profile>f+++++++ backuphomedir/.bashrc>f+++++++ backuphomedir/abc>f+++++++ backuphomedir/xyzsent 650 bytes received 136 bytes 1572.00 bytes/sectotal size is 324 speedup is 0.41

上面的命令帮助你找出源地址和目标地址之间文件或者目录的不同。

示例: 6 – 备份rsync命令可以用来备份linux。你可以在cron中使用rsync安排备份。

复制代码

代码如下:

0 0 * * * /usr/local/sbin/bkpscript &> /dev/nullvi /usr/local/sbin/bkpscriptrsync -avz -e ‘ssh -p2093′ /home/test/ root@192.168.1.150:/oracle/data/

rsync增量传输大文件优化技巧:问题:rsync用来同步数据非常的好用,特别是增量同步。但是有一种情况如果不增加特定的参数就不是很好用了。比如你要同步多个几十个G的文件,然后网络突然断开了一下,这时候你重新启动增量同步。但是发现等了好久都没有进行数据传输,倒是机器的IO一直居高不下。

原因:rsync具体的增量同步算法不太清楚。根据它的表现来看,可能在增量同步已经存在的一个文件时,会校验已传输部分数据是否已源文件一致,校验完成才继续增量同步这个文件剩下的数据。所以如果对一个大文件以这样的算法来增量同步是非常花时间并且占用IO资源的。

方法:半夜花了一个多小时查看了rsync的文档,发现有一个参数能快速恢复大文件的增量同步,–append。设置–append参数会在增量同步时计算文件大小并直接追加新的数据到文件,这样就省了费IO校验的过程。不过这个参数最好只在源文件和目标文件都不会更改的时候使用比较安全,比如备份的文件。

1. 本站所提供的源码模板(主题/插件)等资源仅供学习交流,若使用商业用途,请购买正版授权,否则产生的一切后果将由下载用户自行承担,有部分资源为网上收集或仿制而来,若模板侵犯了您的合法权益,请来信通知我们(Email: rayer@88.com),我们会及时删除,给您带来的不便,我们深表歉意!
2. 分享目的仅供大家学习和交流,请不要用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布投稿,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务 请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长,可领回失去的金币,并额外有奖!
6. 如遇到加密压缩包,默认解压密码为"www.zyfx8.cn",如遇到无法解压的请联系管理员!
本站部分文章、资源来自互联网,版权归原作者及网站所有,如果侵犯了您的权利,请及时联系我站删除。免责声明
资源分享吧 » Linux中使用数据备份同步工具Rsync的实例教程

常见问题FAQ

免费下载或者VIP会员专享资源能否直接商用?
本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
织梦模板使用说明
你下载的织梦模板并不包括DedeCMS使用授权,根据DedeCMS授权协议,除个人非盈利站点外,均需购买DedeCMS商业使用授权。购买地址: http://www.desdev.cn/service-dedecms.html

发表评论

Copyright 2015-2020 版权所有 资源分享吧 Rights Reserved. 蜀ICP备14022927号-1
开通VIP 享更多特权,建议使用QQ登录