斑竹网络专注为中小企业客户提供以管理服务为核心的IT全方位服务 https://www.sysadm.cn
分类: 系统运维
2013-11-29 10:36:15
Rsync安装与配置
(整理时间:2007-3-05)
一、下载文件
wget
二、编译与安装
# tar -zxvf rsync-2.6.9.tar.gz
# cd rsync-2.6.9
# ./configure --prefix=/usr/local/rsync
# make
# make install
三、配置rsync服务器端
1、建立rsyncd.conf文件
# vi /etc/rsyncd.conf
secrets file=/etc/rsyncd.secrets
motd file =/etc/rsyncd.motd
read only = yes
list = yes
uid = nobody
gid = nobody
hosts allow = 192.168.0.241
host deny = 192.168.0.0/24
max connections = 2
log file = /var/log/rsyncd.log
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
[test]
comment = Test's directory from 192.168.0.215
path = /home/test
auth users = bamboo,root
[wgz]
comment = Wgz's directory from 192.168.0.215
path = /home/wanggz
2、建立rsyncd.secrets文件
Rsyncd.secrets存储rsync服务的用户名和密码的,它是一个明文的文本文件。
# vi /etc/rsyncd.secrets
bamboo:bwyy1679
root:?.,mko09ijN
3、建立rsyncd.motd文件
这个文件是记录了rsync服务的欢迎信息,可以在其中输入任何文本信息,这个文件可以不要。
# vi /etc/rsyncd.motd
Welcome to 192.168.0.215 Server
~
4、修改services文件
services并不是rsync的配置文件,这一步也可以不做。而修改了services文件的好处就在于系统知道873端口对就的服务名为rsync。修改services的方法就是确保services中有如下两行,没有的话就自行加入:
rsync 873/tcp # rsync
rsync 873/udp # rsync
# vi /etc/services
系统中已经有了上述的两行,所以不需要添加和修改。
5、建立/etc/xinetd.d/rsync文件
# vi /etc/xinetd.d/rsync
service rsync
{
disable = no
socket_type =stream
wait =no
user =root
server =/usr/bin/rsync
server_args =--daemon
log_on_failure+=USERID
}
保存后,就可以运行rsync服务了,输入以下命令启动rsync服务
# /etc/rc.d/init.d/xinetd restart
注意:
1、用上述的方法启动rsync后有错误,不能使用,应用下列方法指定配置文件在哪里
/usr/local/rsync --daemon --config=/etc/rsyncd.conf
2、在客户端也要建立一个rsyncd.secrects 文件用来指定登陆的用户的密码,这个文件里只需输入密码即可,如:
# vi /home/vpopmail/rsyncd.secrects
Vpopmail
3、客户端的 rsyncd.secrects 文件和服务器端的 rsyncd.secrects文件的权限均要设置成 600,不然系统会出错,并且无法登陆;
4、在客户端和服务器端都建立了rsyncd.secrects文件后,就可以用 –password-file来指定密码文件,可以避免输入密码.
l Rsync用法举例
下面的是一条合法的rsync语句,其解释如下:
rsync -ztruvoglp --progress --delete --password-file=/etc/rsyncd.secrets --exclude-from=/usr/local/share/excludefile-cmb jbossuser@192.168.1.44::jboss-cmb /usr/local/jboss/jboss-3.2.2-cmb
rsync :rsync指令
-ztruvoglp::是选项,其含义如下:
z : 指在数据传输的过程中,压缩数据;
t: 表示在拷贝的时候保留时间信息;
r: 表示拷贝指定目录及其下的所有的文件及子目录下的所有文件;
u: 表示跳过接收端的文件比发送端的文件还要新的那些文件;
v: 表示将结果显示出来;
o: 表示保留文件的所有者属性;
g: 表示保留文件的组属性;
l: 表示将连接文件仍然做连接文件来拷贝,即只拷贝连接文件不拷贝连接文件对应的真实文件;
p: 表示保留权限属性;
--progress : 表示显示备份过程的详细信息;
--delete: 表示如要备份的源服务器上对应的文件已经删除了,则也删除接收端上对应的文件,这样做可以做到真正的完整备份;
--password-file: 指定包含连接源机器所需的用户名和密码的文件在哪里,是什么文件名等。注意这个文件内的内容是以明文的形式保存,形式是username:password;
--exclude-from: 指定包含在拷贝过程中排除要拷贝的文件的文件名列表的文件。即当—exclude-from=/usr/local/share/excludefile-cmb 时则说明在/usr/local/share/excludefile-cmb这个文件中所列的文件在拷贝的时候不拷贝。这个文件是以明文的形式存在的,每个需要排除的目录或文件单独列出一行;
/usr/local/jboss/jboss-3.2.2-cmb : 表示连接到192.168.1.44 这台机器上,以jbossuser这个用户名,用户名对应的密码在上述指定的文件里查,然后执行源机器上配置文件jboss-cmb 这个块下的内容,将这个块下指定的内容文件拷贝到本机的 /usr/local/jboss/jboss-3.2.2-cmb目录下。
l Rsync 在线手册的地址: