参考:http://club.topsage.com/thread-237521-1-1.html
http://os.51cto.com/art/201009/225962.htm
http://www.cnblogs.com/szw/p/3381705.html
最近朋友有一个需求,就是每天定时同步远程服务器上的文件到本地,于是机缘巧合就接触到了rsync,如果你有幸搜索到这篇文章,那么祝贺你,因为你可以踩在我的肩膀上去做这件事情(我是通过一步步摸索出来的),从而可以少走很多弯路,废话少说,进正文:
注:以上很多操作实在超级用户权限下完成的因此建议 sudo -s切换到超级用户下执行。
1、下载&安装:
http://rsync.samba.org/ 可以下载到最新的rsync源码包。
# tar -xzpvf rsync-2.5.6.tar.gz
# cd rsync-x.x.x/
# ./configure --prefix=/usr/local/rsync
# make
# make install
以上命令完成rsync的安装。
2、配置rsync服务端:
(1)修改或建立配置文件rsyncd.conf。
# vi /etc/rsyncd.conf
####################################################################
#先定义整体变量
secrets file=/etc/rsyncd.secrets
motd file=/etc/rsyncd.motd
read only=yes
list=yes
uid=0
gid=nobody
hosts allow=192.168.89.100 #允许访问rsync服务的IP
hosts deny=192.168.89.0/50 #禁止访问rsync服务的IP
max connections=2
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsync.lock
#定义需要rsync的目录
[data]
comment=Data from zyb@192.168.89.101
path=/home/zyb/data
auth users=zyb
#######################################################################
(2)修改或建立配置文件rrsyncd.secrets.
# vi /etc/rsyncd.secrets
rsyncd.secrets存储rsync服务的用户名和密码,它是一个明文的文本文件,下面是一个rsyncd.secrets文件的例子:
zyb:123456
该文件一般不允许随便修改,因此文件的属性必须,因此权限设为600,即只有超级用户可以读写:
# chmod 600 /etc/rsyncd.secrets
(3)rsyncd.motd
# vi /etc/rsyncd.motd
rsyncd.motd记录了rsync服务的欢迎信息,你可以在其中输入任何文本信息,如:
Welcome to use the rsync services!
(4)检查services
# vi /etc/services
services并不是rsync的配置文件,这一步也可以不做。而修改了services文件的好处就在于
系统知道873端口对就的服务名为rsync。修改services的方法就是确保services中有如下两行,
没有的话就手动加入:
rsync 873/tcp # rsync
rsync 873/udp # rsync
(5)修改/etc/xinetd.d/rsync
如果找不到xinitd.d目录,请使用apt-get install xinitd安装xinitd。
# vi /etc/xinetd.d/rsync
建立一个名为/etc/xinetd.d/rsync文件,输入以下内容:
service rsync
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/local/rsync/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
(6)重启rsync服务
# /etc/init.d/rsync rstart
这样rsync服务端(192.168.89.101)就运行起来了,接下来是客户端如何使用的问题。
3、rsync客户端。
rsync客户端不需要做复杂的配置,只需要按照1中的步骤安装rsync即可,使用起来可以按照http://os.51cto.com/art/201009/225962.htm 链接中提供的案例按照自己的需求合理使用。
rsync -azv zyb@192.168.89.101::data /home/test/这是我测试远程服务服务同步到本地的命令。