十五年测试老手,长期负责WEB\APP 项目测试,目前主要负责团队管理工作。

RSYNC安装使用

上一篇 / 下一篇  2011-07-01 13:10:23 / 个人分类:liunx相关

51Testing软件测试网"k[i!\iF%Z8u5~

RSYNC软件介绍:
9{P)@(lF0rsync是类unix系统下的数据镜像备份工具,从软件的命名上就可以看出来了——remote sync。它的特性如下:51Testing软件测试网Bh7O6k8CCX

  1. 可以镜像保存整个目录树和文件系统。
  2. 可以很容易做到保持原来文件的权限、时间、软硬链接等等。
  3. 无须特殊权限即可安装。
  4. 优化的流程,文件传输效率高。
  5. 可以使用rcp、ssh等方式来传输文件,当然也可以通过直接的socket连接。
  6. 支持匿名传输,以方便进行网站镜象。

J-[9d Q)Ss[@0软件下载
vuf{ i S0rysnc的主页地址为:http://rsync.samba.org/51Testing软件测试网d,d_Y&Z)Z8Z d#u4n
目前最新版本为2.4.6。可以选择从原始网站下载:http://rsync.samba.org/ftp/rsync/。也可以选择从本站下载:rsync 2.4.651Testing软件测试网*hQ \:b b|1V#r7n
一、下载、安装rsync
H%ULP5Hct0#tar zxvf rsync-2.6.9.tar.gz51Testing软件测试网x#Idd7?5OV[(h6}
#cd rsync-2.6.9
]}x?&?]}/|0#./configure –prefix=/usr/local/rsync
M$Q|Z'c)f0#make
,x[lQv%w0#make install
)T5u*B!HR$X/SRj2W0**** 正常安装RH的时候是带RSYNC的,运行文件放在/usr/bin/rsync
0kqW8que0二、配置rsync server

,]f7_FYAO051Testing软件测试网"i5o3Z*H)S&^

1、启动RSYNC
,oo7b Au0k(j,pS0#vi /etc/xinetd.d/rsync
Q:R Joe|*bjz1Jn0把原来的YES改成NO
mJke1m|dv0service rsync51Testing软件测试网-a$aN x%XIYR
{
;`%G8UzF]/p0disable = no
J|K0i Pl0socket_type     = stream51Testing软件测试网0~0JQ*c4~p CNT
wait            = no51Testing软件测试网^ s8`7KR"f!l
user            = root51Testing软件测试网$YMWy9].`N)Wy
server          = /usr/bin/rsync
3Vd.CAf0~0server_args     = –daemon
@-n0r(u9tpy/S[a-@0log_on_failure  += USERID51Testing软件测试网"qU#QQbOsJ#E5GA
}
t.[p4cSO:dD0随系统启动RSYNC
]w[ mVE+S,W0#chkconfig rsync on51Testing软件测试网kuOP+yda
2、配置/etc/rsyncd.conf(需要手动生成)
X3KXk,@[Tf0rsyncd.conf的参数写在上边就是全局参数和写在模块里的就是模块参数51Testing软件测试网![|s"v y5c?'zs~:l q
#vi /etc/rsyncd.conf51Testing软件测试网#T YwK D0}r)H
全局参数51Testing软件测试网 r dbxJY]1l$N|
uid = root                                  //运行RSYNC守护进程的用户
wb)W$J4z0bu~3WK*H0gid = root                                  //运行RSYNC守护进程的组51Testing软件测试网;J p sv;_Ns,J
use chroot = no                 //不使用chroot
5Z{.b oIh@7O]0max connections = 4             // 最大连接数为4
/oB6hWqc1s+Gaj%Y`0strict modes =yes                //是否检查口令文件的权限
VYx8agf)R+|0port = 873                      //默认端口87351Testing软件测试网'dMu4l u8E+Et7j

6B(k2kBA8q0模块参数
$Uo@;K8nWn{J{a,`0[backup]                   //这里是认证的模块名,在client端需要指定
Y ?F6r#Z%Z0`j d0path = /home/backup/        //需要做镜像的目录,不可缺少!
y3D$I)eo J0comment = This is a test       //这个模块的注释信息
+Rd5TdyZ4B|(Z#p#p0ignore errors                //可以忽略一些无关的IO错误
N$~uo4f})b0read nly = yes              // 只读51Testing软件测试网)v jwyv
list = no                   //不允许列文件
N+iX YwMQ Mp0auth users = hening             //认证的用户名,如果没有这行则表明是匿名,此用户与系统无关
XpJXwA;~\0secrets file = /etc/rsync.pas           //密码和用户名对比表,密码文件自己生成51Testing软件测试网i xZ1o.t V%w6A
hosts allow = 192.168.1.1,10.10.10.10      //允许主机51Testing软件测试网-YD X.uVFGUP
hosts deny = 0.0.0.0/0                   //禁止主机51Testing软件测试网8ue9l8p9N(OO[
#transfer logging = yes

,D+ID#U9F{k9p ycV0W051Testing软件测试网1wj:fHf:wB

注释:下面这些绿色文件是安装完RSYNC服务后自动生成的文件51Testing软件测试网8M$Db5w&M:b3VfK1M
pid file = /var/run/rsyncd.pid      //pid文件的存放位置51Testing软件测试网&oM_r$w&R*\%Nb
lock file = /var/run/rsync.lock     //锁文件的存放位置
Z;j z t1e G#i^0log file = /var/log/rsyncd.log      //日志记录文件的存放位置

{7VrNx0k0

_Nk#bcr {v03、配置rsync密码(在上边的配置文件中已经写好路径) /etc/rsync.pas(名字随便写,只要和上边配置文件里的一致即可),格式(一行一个用户)
K:t&ZU `4pu0账号:密码
rHGm2J-pu:[$I0#vi /etc/rsync.pas51Testing软件测试网B/\Vk1^,L-B~ x
例子:51Testing软件测试网$B)_%`7S\(z#OH$F)^
Hening:11111151Testing软件测试网9~&C K.|h_N Y
权限:因为rsync.pas存储了rsync服务的用户名和密码,所以非常重要。要将rsync.pas设置为root拥有, 且权限为600。
B5{l+\)m0JDgL"tUO0#cd /etc
MO0v!~W0#chown root.root rsync.pas51Testing软件测试网"E#Mqb Y K}g
#chmod 600 rsync.pas51Testing软件测试网Jh*U'Nch^eQd
3.rsyncd.motd(配置欢迎信息,可有可无)51Testing软件测试网|'f;v&_k@0R0I
# vi /etc/rsyncd.motd51Testing软件测试网&\*b(`7A Oi
rsyncd.motd记录了rsync服务的欢迎信息,你可以在其中输入任何文本信息,如:
7S;Y p3Z B's3a;CrT0Welcome to use the rsync services!51Testing软件测试网3u%f*Ih7A
4、让配置生效51Testing软件测试网9US]"FSR h5Q
#service xinetd restart

ySE%m.S051Testing软件测试网/FvD%qk-Uf`%[y T

三、启动rsync server51Testing软件测试网SuY/K_2UFC
RSYNC服务端启动的两种方法
{ Dt hCQ8W;].i01、启动rsync服务端(独立启动)
Quhn-M/Xap`0#/usr/bin/rsync –daemon

!r/Yi!p@051Testing软件测试网Y"xf4M2y \ ?7ryg

2、启动rsync服务端 (有xinetd超级进程启动)51Testing软件测试网%?"Ch1i"j~ BK
# /etc/rc.d/init.d/xinetd reload51Testing软件测试网~PW6`+f8uR

Y`ry;o.Bb0四:加入rc.local51Testing软件测试网 e4A/v|!d nG
在各种操作系统中,rc文件存放位置不尽相同,可以修改使系统启动时把rsync –daemon加载进去。
\@&V;pU q}C;t0#vi /etc/rc.local
-DE0d*A2T1}4u;l%m0加入一行/usr/local/rsync –daemon
;\Au_8EE0五.检查rsync
PS p5\4QW;z0#netstat -a | grep rsync51Testing软件测试网%o1PM#[?(JOxcsL
tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN
1O$] Yq(d)O$cq8C/r~^0六.配置rsync client51Testing软件测试网/U*AjG z1^
1、设定密码
/wr|)\_0U0#vi /etc/rsync.pas51Testing软件测试网["F u3D t:i-Q
11111151Testing软件测试网dUr/GX
修改权限
.V4X(Lyk6W0#cd /etc
H)]&J];{8?#xc+{0#chown root.root rsync.pas51Testing软件测试网8~4s:ab \
#chmod 600 rsync.pas

iv$i'}h-nl p051Testing软件测试网X6\X j'MPtG

2、client连接SERVER51Testing软件测试网J;w)h(v GN/JrY
从SERVER端取文件
_ o? Z&Qs:By0/usr/bin/rsync -vzrtopg –progress –deletehening@192.168.0.217::backup/home/backup –password-file=/etc/rsync.pas

E#Ib5c8E051Testing软件测试网 `2Ws {j2_?

向SERVER端上传文件51Testing软件测试网A-W` ?G |
/usr/bin/rsync -vzrtopg –progress –password-file=/root/rsync.pas  /home/backuphening@192.168.0.217::backup51Testing软件测试网5IHm cj w!G5D

51Testing软件测试网9e+a,B4Rp(H?Vj

这个命令将把本地机器/home/backup目录下的所有文件(含子目录)全部备份到RSYNC SERVER(172.20.0.6)的backup模块的设定的备份目录下。51Testing软件测试网~5Q$c;eRU ^1r
请注意如果路径结束后面带有”/”,表示备份该目录下的东东,但不会创建该目录,如不带”/”则创建该目录。
q'j%j1G|{qH0RSYNC用法:51Testing软件测试网ahAB/q(UB\I
rsync [OPTION]… [USER@]HOST::SRC  [DEST]              #从RSYNC SERVER备份文件到本地机器
6t'h~Tc)I0rsync [OPTION]… SRC [SRC]…      [USER@]HOST::DEST   #从本地机器备份文件到RSYNC SERVER51Testing软件测试网;r*}0^5xqGx!|0cL;E

51Testing软件测试网0KR2X#`r

3、自动运行
%Qh{oDD+{z01)vi /usr/local/rsync/time.sh     //制作脚本文件51Testing软件测试网#KQ:Zb e t-Q)X#HD8z
把下边的内容复制进去
n6|(dK| Kl2S0#!/bin/bash51Testing软件测试网z5r_LTSP
/usr/bin/rsync -vzrtopg –progress –deletehening@192.168.0.217::backup/home/backup –password-file=/etc/rsync.pass51Testing软件测试网!}D4t,MV&_mHOGV
2) crontab -e
8?o/\)\8kw#d4W]0加入55 * * * * /usr/local/rsync/time.sh        //每55分运行一次time.sh脚本文件

2B+E x8\BG6z7B0

!c{x]fcS`0五、 iptables
&u*FV$q ?,X0iptables -A INPUT -p tcp -s ! 11.22.33.44 –dport 873 -j DROP
.T5bv/Y[8E+D C"dV0如此, 只有 11.22.33.44 这个 client IP 能进入这台 rsync server.

O |5n\R!L!Ms0j8WE051Testing软件测试网:V~ wiK0wQVvN

命令介绍:-rvlHpogDtS
9ES*R2n N2vD0rsync命令参数
,W*|x!]a{fR0-v表示verbose详细显示51Testing软件测试网F an?9a-D M;X0J
-z表示压缩
bx:FW%Ip|pp0-r表示recursive递归51Testing软件测试网&HmC7Qd2j.[4e
-t表示保持原文件创建时间51Testing软件测试网gL'iu&TY
-o表示保持原文件属主
ct6q#X+Cr1{? `.fM`O0-p表示保持原文件的参数51Testing软件测试网q W:Q7E5g `x.[O
-g表示保持原文件的所属组51Testing软件测试网k3ao2I1S2sY}
-a存档模式51Testing软件测试网g:t2k9s _1dQ&~
-P表示代替-partial和-progress两者的选项功能
,^&}W+FO`9MH0-e ssh建立起加密的连接。51Testing软件测试网0E |gG%_
–partial阻止rsync在传输中断时删除已拷贝的部分(如果在拷贝文件的过程中,传输被中断,rsync的默认操作是撤消前操作,即从目标机上删除已拷贝的部分文件。)
1@DvgLSE"xL _0–progress是指显示出详细的进度情况
;q,T-Hj? ?)jP n0–delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。51Testing软件测试网$V8B|8VkyHxo
–exclude不包含/ins目录
)h,?;y je|0–size-only 这个参数用在两个文件夹中的差别仅是源文件夹中有一些新文件,不存在重名且被修改过的文件,因为这种文件有可能会因为内容被修改可大小一样,而被略过。这个参数可以大大地提高同步的效率,因为它不需要检查同名文件的内容是否相同。51Testing软件测试网1o{b\9A?%H
–password-file来指定密码文件,内容包含server端指定认证用户的密码。51Testing软件测试网-jd2Z7Y$w$Yn
这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。51Testing软件测试网 a-OQ.Eue&B#p,pd_
hening@192.168.0.217::backup
7i(AuB-do0hening是指server端指定认证的用户51Testing软件测试网$i N4P'J7xm_
192.168.0.217是指服务器端的ip
[,mV8c@-v0::backup 表示服务器端需要同步的模块名称;51Testing软件测试网T:Y Mr1];y1_)T0W5U.|
/home/quack/backup/$DATE是同步后的文件指存放在本机的目录地址。51Testing软件测试网{r'a(pU!l
/var/log/rsync.$DATE是同步后的日志文件存放在本机的目录地址。51Testing软件测试网&w4` r5^3HMB9C5_

51Testing软件测试网0]M$Ecr

注意
9|;GP2G#S0不放/  则目录名也包含mirror,放 / 则只有目录里面的东西mirror了

$N3OU0Xw~i0

TAG: RSYNC

 

评分:0

我来说两句

Open Toolbar