2010年6月29日星期二

LINUX RSYNC配置详解(转)


\
转:http://blog.chinaunix.net/u/15758/showart_263611.html
LINUX RSYNC配置详解

LINUX-RSYNC同步(自写文档)

我自己写的一个关于RSYNC的总结
测试报告

1,首先SERVER与CLIENT都需要安装RSYNC
2,其次在SERVER的/etc/下面建立rsyncd.conf 内容可以按照下面的写法

[root@vm-base-01 local]# more /etc/rsyncd.conf
uid = root ///RSYNC启动ID
gid = root
use chroot = no
log file = /var/log/rsyncd.log ////日志存放
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock

[publishonline] ///模块名称---也就一个需要同步或备份的目录
path = /usr/local/apache/htdocs/publish/online/images
comment = home cad folder
ignore errors
read only = yes
list = no
auth users = xp20adm ////登录用户名--自我随意设置
secrets file = /etc/rsyncd.scrt ////密码存放文件----一般需要自我建立此文件,路经与命名随意
[publishdown]
path = /usr/local/apache/htdocs/publish/down/images
comment = home cad folder
ignore errors
read only = yes
list = no
auth users = xp20adm
secrets file = /etc/rsyncd.scrt
[magdown]
path = /usr/local/apache/htdocs/publish/down
comment = home cad folder
ignore errors
read only = yes
list = no
auth users = xp20adm
secrets file = /etc/rsyncd.scrt
3,SERVER就基本配置好了,自己不要忘记配置模块中制定的目录与密码存放点
//////////////////////////////注意////////////////////////////////////
bash-2.03# cat /etc/rsyncd.scrt
  密码格式如下
用户名:密码 (有个冒号哟)
!!!!!!!!出于安全目的,文件的属性必需是只有属主可读(不能错)!!!!!!!!!!!!!!!!!

chmod 400
4,然后就可以启动SERVER端的RSYNC程序了,如果上述配置不正确,rsync是无法正常启动的
启动方案

在server端将rsync以守护进程形式启动

bash-2.03# rsync --daemon

如果要在启动时把服务起来,有几种不同的方法,比如:

a、加入inetd.conf

  编辑/etc/services,加入rsync 873/tcp,指定rsync的服务端口是873
  编加/etc/inetd.conf,加入rsync stream tcp nowait root /bin/rsync rsync --daemon

b、加入rc.local

  在各种操作系统中,rc文件存放位置不尽相同,可以修改使系统启动时rsync --daemon加载进去。

5 CLIENT设置
如果CLIENT想不输入RSYNC的密码而自动同步的话,可以设置一个秘密文件:可以用--password-file=/password/path/file来指定密码文件,这样就可以在脚本中使
用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。

下面这个命令行中-vzrtopg里的v是verbose,z是压缩,r是recursive,topg都是保持文件原有属性如属主、时间的参数。--progress是指显示
出详细的进度情况,--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。后面的inburst@ip中,
inburst是指定密码文件中的用户名,之后的::inburst这一inburst是模块名,也就是在/etc/rsyncd.conf中自定义的名称。最后的/tmp是备份
到本地的目录名。

举例CLIENT

如: rsync -vzrtopg --progress --delete inburst@192.168.*.*::inburst --exclude="*.sh" --exclude="images*" --exclude="*.log"
--password-file=/etc/rsync.pas /home/quack/backup/

这个例子基本包含所有应用

参数说明
-vzrtopg里的
v是verbose,
z是压缩,
r是recursive,
topg都是保持文件原有属性如属主、时间的参数
----progress
是指显示出详细的进度情况
--delete
是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致

inburst@192.168.168.52::inburst
用户名 模块名

--exclude="*.sh"
不包含某些文件

--password-file
指定CLIENT端密码文件存放路径
/home/quack/backup/
指定CLIENT端存放镜象目的路径

基本就这些了~~~剩下就是把CLINET端的RSYNC做一个启动脚本放入CRONTAB中以便定时同步 88

BY:IORI 2006-7

IN beijing XPLUS