首页 > 其他 > 详细

rsync单向同步

时间:2014-07-31 02:50:45      阅读:497      评论:0      收藏:0      [点我收藏+]

系统版本:Centos X64 6.4(最小化安装)

先安装依赖包

bubuko.com,布布扣
1 [root@localhost ~]# yum install vim wget lsof gcc make cmake makeconf autoconf automake openssh -y
View Code


开始下载安装

bubuko.com,布布扣
1 [root@localhost ~]# wget http://down1.chinaunix.net/distfiles/rsync-3.0.4.tar.gz
2 [root@localhost ~]# tar zxf rsync-3.0.4.tar.gz 
3 [root@localhost ~]# cd rsync-3.0.4
4 [root@localhost rsync-3.0.4]# ./configure && make && make install
View Code

 

安装完毕后命令的绝对路径:/usr/local/bin/rsync

参数:

-a:表示归档模式,用递归方式传输文件

-v:详细输出

-z:传输时对文件进行压缩处理

-r:对子目录进行递归

-t:保持文件的时间信息

-p:保持文件的权限

-o:保持文件的属主信息

-g:保持文件的属组信息

--delete:表示以服务端为基准进行同步,保持服务端的目录文件和客户端的完全一致

--progress:用于显示数据同步的过程

--exclude:排除不需要同步的目录或者文件

 

同步本地目录到远程主机

命令格式:rsync -av --delete 本地目录绝对路径(不能带斜杠)  远程主机用户名@远程主机地址:远程绝对路径

如果没做ssh信任关系的话会需要输入远程主机的登录密码

bubuko.com,布布扣
1 [root@localhost ~]# rsync -a --delete /etc root@192.168.1.100:/tmp
View Code

 

同步本地目录下的文件到远程主机

命令格式:rsync -av --delete 本地目录绝对路径/  远程主机用户名@远程主机地址:远程绝对路径

bubuko.com,布布扣
1 [root@localhost ~]# rsync -a --delete /etc/ root@192.168.1.100:/tmp
View Code

 

把rsync作为服务启动让远程客户端来同步

rsync服务端:192.168.1.101

rsync客户端:192.168.1.100

在rsync服务端创建一个默认的配置文件/etc/rsyncd.conf,

内容如下:

bubuko.com,布布扣
 1 #指定传输文件时守护进程具有的用户ID,这里表示默认为nobady
 2 uid=nobady
 3 #指定传输文件时守护进程具有的用户组ID,这里表示默认为nobady
 4 gid=nobody
 5 #禁止切换目录
 6 use chroot=no
 7 #客户端的最大连接数
 8 max connection=10
 9 #检查口令文件的权限,口令文件的权限用户属组必须是root,权限必须是600
10 strict modes=yes
11 #pid文件的位置
12 pid file=/var/run/rsyncd.pid
13 #lock文件的位置
14 lock file=/var/run/rsyncd.lock
15 #日志文件的位置
16 log file=/var/log/rsyncd.log
17 
18 #定义模块名
19 [gamelog]
20 #指定这个模块需要同步的路径
21 path=/usr/local/
22 #这个是注释 可以自己定义
23 comment=gamelog file
24 #忽略一些无关的IO错误
25 ignore errors
26 #no代表客户端可以上传文件,yes表示只读取
27 read only=no
28 #no表示客户端可以下载文件,yes表示不能下载
29 write only=no
30 #表示允许连接的主机地址
31 hosts allow=192.168.1.100
32 #表示不允许连接的主机地址
33 hosts deny=*
34 #不允许该模块被客户端列出
35 list=false
36 #指定传输文件时守护进程具有的用户ID,
37 uid=root
38 #指定传输文件时守护进程具有的用户组ID,
39 gid=root
40 #用来指定连接该模块的用户名,用户名可以自定义
41 auth users=back
42 #指定密码文件,文件里面记录的是用户名:密码
43 secrets file=/etc/srs.pass
View Code

帐号密码文件/etc/srs.pass

bubuko.com,布布扣
1 [root@localhost ~]# ll /etc/srs.pass 
2 -rw-------. 1 root root 12 Jul 30 20:49 /etc/srs.pass
3 [root@localhost ~]# cat srs.pass 
4 back:123456
View Code

启动服务端程序

bubuko.com,布布扣
1 [root@localhost ~]# /usr/local/bin/rsync --daemon
View Code

也可以指定配置文件启动:/usr/local/bin/rsync --daemon --config=配置文件绝对路径

 

客户端192.168.1.100

创建密码文件:

bubuko.com,布布扣
1 [root@localhost etc]# echo "123456" > rsyncd.pass 
2 [root@localhost etc]# chmod 600 rsyncd.pass 
View Code

客户端同步命令格式:/usr/local/bin/rsync -vzrtopg --delete --progress --exclude "需要排除的目录和文件"  服务端用户名@服务端地址::模块名字 本地目录 --password-file=密码文件路径

bubuko.com,布布扣
1 [root@localhost etc]# rsync -vzrtopg --delete --password-file=/etc/rsyncd.pass  back@192.168.1.101::gamelog /tmp/
2 receiving incremental file list
3 ./
4 xx
5 
6 sent 79 bytes  received 177 bytes  512.00 bytes/sec
7 total size is 1214828  speedup is 4745.42
View Code

 

出错的排查方法

1.查看防火墙是否关闭,或者对873端口添加了白名单,可以在客户端telnet 服务端的873端口

2.查看帐号密码文件的权限和所属用户是否正确

rsync单向同步,布布扣,bubuko.com

rsync单向同步

原文:http://www.cnblogs.com/pping/p/3879756.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!