请选择 进入手机版 | 继续访问电脑版

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

[复制链接]
查看162 | 回复19 | 2021-9-4 22:54:14 | 显示全部楼层 |阅读模式

对于运维职员 来说,数据备份是最紧张 的工作之一,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/ /backuphomedir
building file list ... done
.bash_logout
.bash_profile
.bashrc
sent 472 bytes received 86 bytes 1116.00 bytes/sec
total size is 324 speedup is 0.58

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

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

复制代码代码如下:
[root@localhost /]# rsync -azvr /home/aloft/ /backuphomedir
building file list ... done
./
.bash_logout
.bash_profile
.bashrc
sent 514 bytes received 92 bytes 1212.00 bytes/sec
total 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
.bashrc
sent 514 bytes received 92 bytes 1212.00 bytes/sec
total 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
.bashrc
sent 514 bytes received 92 bytes 1212.00 bytes/sec
total size is 324 speedup is 0.53

上面的下令 同步长途 文件到本地。

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

复制代码代码如下:
[root@localhost backuphomedir]# rsync -avzi /backuphomedir /home/aloft/
building file list ... done
cd+++++++ backuphomedir/
>f+++++++ backuphomedir/.bash_logout
>f+++++++ backuphomedir/.bash_profile
>f+++++++ backuphomedir/.bashrc
>f+++++++ backuphomedir/abc
>f+++++++ backuphomedir/xyz
sent 650 bytes received 136 bytes 1572.00 bytes/sec
total size is 324 speedup is 0.41

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

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

复制代码代码如下:
0 0 * * * /usr/local/sbin/bkpscript &> /dev/null
vi /usr/local/sbin/bkpscript
rsync -avz -e ‘ssh -p2093′ /home/test/ root@192.168.1.150:/oracle/data/

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

缘故起因 :
rsync详细 的增量同步算法不太清楚 。根据它的表现来看,大概 在增量同步已经存在的一个文件时,会校验已传输部分数据是否已源文件划一 ,校验完成才继续增量同步这个文件剩下的数据。以是 假如 对一个大文件以如许 的算法来增量同步黑白 常花时间并且占用IO资源的。

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


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复

使用道具 举报

avatar 遨瀚 | 2021-9-12 07:24:28 | 显示全部楼层
感谢admin楼主的推荐!
回复

使用道具 举报

avatar 123457281 | 2021-9-15 22:15:19 | 显示全部楼层
禽兽不如应该不是说admin楼主的的吧?
回复

使用道具 举报

avatar 123457044 | 2021-9-18 09:13:32 | 显示全部楼层
没人理我,好伤心啊!
回复

使用道具 举报

avatar 擎宇温 | 2021-9-19 20:08:32 | 显示全部楼层
东方不败外加灭绝师太啊!
回复

使用道具 举报

avatar lkbt123 | 2021-9-20 10:39:21 | 显示全部楼层
刚看见一个妹子,很漂亮!
回复

使用道具 举报

avatar 叶505 | 2021-9-24 22:49:19 | 显示全部楼层
很经典,收藏了!
回复

使用道具 举报

avatar 落叶的时节 | 2021-9-30 19:58:42 | 显示全部楼层
admin楼主是我最崇拜的人!
回复

使用道具 举报

avatar Vonice | 2021-10-1 19:25:09 | 显示全部楼层
admin楼主,我告诉你一个你不知道的的秘密,有一个牛逼的网站,他卖的服务器是永久的,我们的网站用 服务器都是在这家买的,你可以去试试。访问地址:http://fwq.mxswl.com
回复

使用道具 举报

avatar 也空中最亮的兴 | 2021-10-3 07:07:09 | 显示全部楼层
顶!顶!顶!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则