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

对于运维人员来说,数据备份是最重要的工作之一,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校验的过程。不过这个参数最好只在源文件和目标文件都不会更改的时候使用比较安全,比如备份的文件。

(0)

相关推荐

  • Excel2016多个工作簿中的数据怎么同步更改?

    Excel2016多个工作簿中的数据怎么同步更改? 1.打开要修改的工作薄,发现在多个工作表中在山东后面漏掉了一个省字,逐个修改工作效率会很低 2.这时我们点击开始工具栏上的"查找和选择&q ...

  • 怎么在华为手机中将通讯录中的数据备份和恢复

    有的小伙伴在使用华为手机时,为了防止自己通讯录中的数据丢失,所以想要备份通讯录中的数据,接着如果数据丢失了,可以恢复数据,那么如何备份和恢复呢?小编就来为大家介绍一下吧.具体如下:1. 第一步,解锁手 ...

  • 如何关闭华为手机中的数据自动同步功能

    在华为手机中,系统会默认开启数据的自动同步功能.如果不想开启该功能的话,应如何将其关闭呢?接下来就由小编来告诉大家.具体如下:1. 第一步,打开手机并在桌面上找到设置图标,点击进入.2. 第二步,在设 ...

  • excel2010中mode函数的语法及使用方法实例教程

    excel中mode函数意思是什么?mode函数是在一定范围内数值出现次数最多的值,用白话解释就是,返回这个区域内数值出现最多的值.那么,excel2010中mode函数应该怎么使用呢?下面小编就给大 ...

  • excel2010中sumif函数的语法及使用方法实例教程

    excel中sumif函数功能是什么?怎么用?在excel2010中sumif函数是根据指定的条件对若干单元格求和,即对满足条件的单元格求和.那么,excel2010中SUMIF函数怎么用呢?下面小编 ...

  • 在Linux系统中安装使用恶意软件扫描工具及杀毒引擎的教程

    恶意软件是指任何旨在干扰或破坏计算系统正常运行的软件程序.虽然最臭名昭著的几种恶意软件如病毒.间谍软件和广告软件,但它们企图引起的危害不一:有的是窃取私密信息,有的是删除个人数据,有的则介于两者之间; ...

  • 让word和Excel表格中的数据自动同步更新教程

    在Word文档编辑时,需要用到Excel工作表中的数据资料,但是当word和Excel中某一个数据发生改变后,我们就不得不寻找对应的部分来修改,如果涉及的数据量较大,那工作的强度也会大大提升.其实,W ...

  • Linux中用于进程显示的top命令使用实例集锦

    Linux中的top命令显示系统上正在运行的进程.它是系统管理员最重要的工具之一.被广泛用于监视服务器的负载.在本篇中,我们会探索top命令的细节.top命令是一个交互命令.在运行top的时候还可以运 ...

  • linux中FTP自动备份VPS脚本

    服务器多了,网站也越来越多,总觉得不整个备份心里放不下心,并且有好几次rm的操作失误,造成难以挽回的损失。并且大多数的VPS提供商是不提供自动备份功能或者此功能收费价格略高。所以自己还是有必要把这个工 ...