CentOS6下远程数据同步工具Rsync的使用

rsync是一款开源,快速,多功能的可实现增量的本地或远程的数据镜像同步备份的优秀工具。适用于多个平台。从软件名称可以看出来是远程同步的意思(remote sync)。可使本地主机不同分区或目录之间及本地和远程两台主机之间的数据快速同步镜像,远程备份等功能。在同步备份时,默认情况下,rsync通过其独特的“quick check”算法,仅同步大小或者最后修改时间发生变化的文件或目录(也可根据权限,属主等变化同步,需要制定参数)。甚至是只同步一个文件里变化的内容部分,所以可以实现快速的同步数据的功能。

提示:传统的cp,scp工具拷贝每次均为完整拷贝,而rsync除了完整拷贝,还具备增量拷贝的功能,因此从此性能及效率上更胜一筹

结合下面的拓扑图

1) 源服务器A

源服务器A为CentOS6.7 64位Linux操作系统

位于路由器NAT后

内网IP:192.168.50.253

外网出口IP:101.71.254.162

2)目标服务器B

目标服务器B为CentOS6.7 64位Linux操作系统

公网IP:101.132.116.99

3)功能实现:

将源服务器A上/temp/source_files目录下的所有文件同步到目标服务器B的/home/backup目录下

主要操作步骤

1、先在目标服务器B上安装rsync xinetd 服务端

[root@YuanFan-Aliyun ~]# yum -y install rsync xinetd

2、目标服务器B上编辑配置文件,设置开机启动rsync

[root@YuanFan-Aliyun ~]# vi /etc/xinetd.d/rsync

# default: off

# description: The rsync server is a good addition to an ftp server, as it \

# allows crc checksumming etc.

service rsync

{

disable = yes#默认是yes 修改成no

flags = IPv6

socket_type = stream

wait = no

user = root

server = /usr/bin/rsync

server_args = --daemon

log_on_failure += USERID

}

然后wq保存退出

4、目标服务器B上设置开机启动xinetd服务

[root@YuanFan-Aliyun ~]# chkconfig xinetd on

[root@YuanFan-Aliyun ~]# chkconfig xinetd --list

xinetd 0:off 1:off 2:on 3:on 4:on 5:on 6:off

CentOS中是以xinetd来管理Rsync服务的,手动启动xinetd服务,当然也可以用service xinetd start服务的方式进行启动

[root@YuanFan-Aliyun ~]# /etc/rc.d/init.d/xinetd start

Starting xinetd: [ OK ]

[root@YuanFan-Aliyun ~]#

5、目标服务器B上创建rsyncd.conf配置文件,默认是没有该配置文件,手动vi编辑一份

[root@YuanFan-Aliyun ~]# vi /etc/rsyncd.conf

#any name you like

[website]

# destination directory

path = /home/backup

# Hosts you allow to copy (specify source Host)

hosts allow = 101.71.254.162#允许进行数据同步的客户端IP地址,根据上面的拓扑图,应为路由器NAT出口IP地址101.71.254.162

hosts deny = *

list = true

uid = root

gid = root

read only = false

6、源服务器A端上只需要安装rsync客户端软件就可以

[root@localhost ~]# yum install -y rsync

7、测试源服务器A到目标服务器B之间的数据同步 rsync命令的使用

[root@localhost ~]# rsync -avz /temp/source_files/ 101.132.116.99::backup

rsync的参数说明

-v :详细输出

-z :传输时进行压缩以提高传输效率。

-a :归档模式,表示以递归的方式传输文件,并保持文件的属性

[root@localhost ~]#rsync -avz --progress --partial /temp/source_files/ 101.132.116.99::backup

--progress 显示备份过程,进度条功能

--partial 意思是keep partially transferred files 断点续传,这个比较实用

如下图所示

8、将rsync加到crontab定时任务

# Add in cron if you'd like to run reguraly

[root@localhost ~]#

crontab -e

# run at 2:00 AM in a day

00 02 * * * rsync -avz --progress --partial /temp/source_files/ 101.132.116.99::backup

下面是rsync命令常用的参数

rsync的功能强大,现只做基础的介绍,有兴趣的的可以访问

  • 发表于:
  • 原文链接:https://kuaibao.qq.com/s/20180726G1C3VR00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券