rsync ssh 数据同步剖析
发布时间:05/16 来源:未知 浏览:
关键词:
复制代码 代码如下:
下令格局:
#rsync [option] 源途径 指标途径
其中:
[option]:
a:运用archive模式,等于-rlptgoD,即维持原有的文件权限
z:表示传输时紧缩数据
v:显示到屏幕中
e:运用长途shell程序(可以运用rsh或ssh)
--delete:精准保留副本,源主机删除的文件,指标主机也会同步删除
--include=PATTERN:不排除相符PATTERN的文件或目录
--exclude=PATTERN:排除所有相符PATTERN的文件或目录
--password-file:指定用于rsync服务器的会员验证密码
源途径和指标途径可以运用如下格局:
rsync://[USER@]Host[:Port]/Path <--rsync服务器途径
[USER@]Host::Path <--rsync服务器的另一种表示情势
[USER@]Host:Path <--长途途径
LocalPath <--当地途径
※需要注意的是,来源或目的途径最少要有一个是当地途径,要是忽略当地途径,则只会列出远端的文件列表。
例子:
mkdir test_new; //当地创立一个测试目录
ssh ljz@192.168.1.109:/home/ljz/test/ //这个是svn服务器中的账户目录
将svn上test目录下的内容更新到当地test_new目录下
rsync -ave ssh ljz@192.168.1.109:/home/ljz/test/ /home/ljz/test_new/
※需要注意的是,要是是/home/ljz/test/表示是test目录下的所有内容,/home/ljz/test表示连同这个目录已经目录下的所有内容
将当地内容同步到长途目录?
rsync -ave ssh /home/ljz/test_new/ ljz@192.168.1.109:/home/ljz/test/
1#rsync -avz --delete ljz@192.168.1.109:/home/ljz/test/ /home/ljz/New_Test/
将109上的test目录内容同步到当地的New_Test目录,并删除当地上源途径中不存在的文件或目录。
※千万要注意--delete参数,在运用此参数的时候,倡议用绝对途径指定当地目录,防止清空目前目录。
二、创立rsync服务器
当服务器没有开通ssh,或备份方没有ssh权限的时候,我们可以通过创立rsync服务器,进行匿名的数据同步。
要运用rsync服务,需要创立服务端和客户端:
1、服务端
主配置文件:
复制代码 代码如下:
#vi /etc/rsyncd.conf
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
[test] #rsync区段的设定名称
path = /var/www/html/test #需要同步的数据寄存途径
comment = test folder #注释
uid = apache #采纳什么身份进行文件读取
gid = apache #同上,必须是有读取path权限的会员、组
ignore errors #忽略差错
read only = yes #只读
list = no #不能列表
auth users = linuxing #连贯rsync服务的帐号
secrets file = /etc/rsyncd.secrets #指定寄存帐号密码的位置
帐号密码文件:
#vi /etc/rsyncd.secrets
#格局:帐号:密码 (每行一组,帐号和密码用:号分开)
linuxing:backup
保留后,需要保证会员是root,权限是600
#chown root:root /etc/rsyncd.secrets
#chmod 600 /etc/rsyncd.secrets
启动服务:
#rsync --daemon
保证开机主动启动:
修改/etc/xinetd.d/rsync文件,把其中的disable=yes改为disable=no
#sed -i -e "/disable/{ s/yes/no/ }" /etc/xinetd.d/rsync
#service xinetd.d restart
2、客户端
运用用法一中波及到rsync://的要领即可。
要是rsync服务器需要密码验证,可以添加--password-file参数:
#rsync -azv --delete rsync://linuxing@192.168.1.100/test /var/www/html --password-file=/etc/test
#vi /etc/test
#指定访问密码
bakcup
#chmod 600 /etc/test
3、定时
另外,因为rsync客户端没有定时功能,我们可以通过在crontab中添加规划任务实现定时的同步,如:(不要运用-v参数,防止刷屏)
#crontab -e
0 22 * * 1-5 /usr/bin/rsync -az --delete rsync://linuxing@192.168.1.100/test /var/www/html --password-file=/etc/test
#指定星期一到五,每晚十点整进行同步
三、总结
运用rsync的长处:可通过ssh进行网络加密传输,也可以应用ssh客户端密钥创立信任关系。当在两台盘算机之间维持大型、复杂目录构造的同步时候,比tar或wget等方式都要快。而且可以做到精准同步。
四、附录
要是是通过编译安装的rsync(如FreeBSD),途径有点不一样:
服务器的配置文件在:/usr/local/etc/rsyncd.conf
启动文件:/usr/local/etc/rc.d/rsyncd.sh
下令文件:/usr/local/bin/rsync
系统启动托管:/etc/rc.conf(添加rsyncd_enable="YES") 热门标签:dede模板 / destoon模板 / dedecms模版 / 织梦模板
责任编辑:LMGvM