您好,登录后才能下订单哦!
一、简介
rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用Rsync 同步本地硬盘中的不同目录。
Rsync 是用于取代rcp的一个工具,Rsync使用所谓的 “Rsync 算法” 来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
rsync的优点与不足
与传统的cp、tar备份方式对比,rsync具有安全性高、备份迅速、支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,
例如,定期地备份文件服务器数据到远端服务器,对本地磁盘定期进行数据镜像等。
但是随着系统规模的不断扩大,rsync的缺点逐渐被暴露了出来。首先,rsync做数据同步时,需要扫描所有文件后进行对比,然后进行差量传输。
如果文件很大,扫面文件是非常耗时的,而且发生变化的文件往往是很少一部分,因此rsync是非常低效的方式。
其次,rsync不能实时监测、同步数据,虽然它可以通过Linux守护进程的方式触发同步,但是两次触发动作一定会有时间差,
可能导致服务器端和客户端数据出现不一致
Rsync支持大多数的类Unix系统,无论是Linux、Solaris还是BSD上都经过了良好的测试。此外,它在windows平台下也有相应的版本,比较知名的有cwRsync和Sync2NAS
二、rsync的基本特点如下:
1. 可以镜像保存整个目录树和文件系统;
2. 可以很容易做到保持原来文件的权限、时间、软硬链接等;
3. 无须特殊权限即可安装;
4. 优化的流程,文件传输效率高;
5. 可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接;
6. 支持匿名传输,以方便进行网站镜像。
在使用 rsync 进行远程同步时,可以使用两种方式:
1. 远程 Shell 方式(建议使用 ssh,用户验证由 ssh 负责)
2. C/S 方式(即客户连接远程 rsync 服务器,用户验证由 rsync 服务器负责)。
rsync无论本地同步目录还是远程同步数据,首次运行时将会把全部文件拷贝一次,以后再运行时将只拷贝有变化的文件(对于新文件)或文件的变化部分(对于原有文件)。
三、安装及配置
rsync在安装系统时默认是安装的
检查rsync是否安装
rpm -qa | grep rsync
手动安装
下载地址:https://rsync.samba.org/ftp/rsync/
#tar zxvf rsync-3.0.6.tar.gz
#cd rsync-3.0.6
#./configure --prefix=/usr/local/rsync
#make
#make install
**** 正常安装RH的时候是带RSYNC的,运行文件放在/usr/bin/rsync
配置
1)启动rsync
vi /etc/xinetd.d/rsync
service rsync
{
disable = no #设置为no启动rsync
socket_type = stream
flags = IPv4
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon --config=/etc/rsyncd/rsyncd.conf
log_on_failure += USERID
}
随系统启动rsync
#chkconfig rsync on
[root@lone-centos67 ~]# cd /etc/
创建rsyncd相关配置文件目录
[root@lone-centos67 etc]# mkdir rsyncd
[root@lone-centos67 etc]# cd rsyncd
手动创建rsyncd.conf配置文件
touch rsyncd.conf //全局参数及模块参数
touch rsyncd.secrets //同步用户及密码非系统用户
touch rsyncd.motd //欢迎内容
2)配置rsyncd.conf
[root@lone-centos67 rsyncd]# vi rsyncd.conf
# GLOBAL OPTIONS
uid = root //运行RSYNC守护进程的用户
gid = root //运行RSYNC守护进程的组
port = 873 //监听端口
use chroot = no //不使用chroot
read only = no //非只读
#limit access to private LANs
hosts allow = 192.168.169.0/24 //允许主机
#hosts deny = * //禁止主机
max connections = 5 // 最大连接数为5
pid file = /var/run/rsyncd.pid //pid文件的存放位置
#lock file = /var/run/rsync.lock //锁文件的存放位置
#motd file = /etc/rsyncd/rsyncd.motd
#This will give you a separate log file
log file = /var/log/rsync.log //日志记录文件的存放位置
#This will log every file transferred - up to 85,000+ per user, per sync
transfer logging = yes
log format = %t %a %m %f %b //日志格式
syslog facility = local3
timeout = 300 //超时时间
# MODULE OPTIONS
[test] //模块名称
path = /var/www/html/test //路径
list=yes
ignore errors
auth users = test
comment = test
exclude = important/
secrets file = /etc/rsyncd/rsyncd.secrets
3)配置密码文件
#chown root.root rsync.pas
#chmod 600 rsync.secrets
[root@lone-centos67 rsyncd]# vi rsyncd.secrets
test:111111 //非系统用户名密码
4)配置欢迎内容
[root@lone-centos67 rsyncd]# vi rsyncd.motd
+++++++++++++++++++++++++++
+ welcome rsyn +
+++++++++++++++++++++++++++
5)让配置生效
#service xinetd restart
启动rsync server服务
#/usr/bin/rsync –daemon
加入rc.local,使得系统启动时自动启动rsync
由于在各种操作系统中,rc文件存放位置不尽相同,可以修改使系统启动时把rsync --daemon加载进去。
#vi /etc/rc.local
加入一行/usr/bin/rsync --daemon,即可。
rsync检查
[root@lone-centos67 rsyncd]# netstat -a | grep rsync
tcp 0 0 *:rsync *:* LISTEN
客户端配置
推送
[root@lone-centos67 chenwx]# rsync -vzrtopg --progress --password-file=/etc/rsyncd/rsync.secrets /home/chenwx/* test@192.168.169.111::test
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。