首先安装Rsync,比如在RedhatFedoraLinux上或者RHELAS3上:
rpm-ivhrsync-2.5.7-5.3E.i386.rpm
安装完成。
rsync客户端和服务器端都是同一个执行文件,只不过加的参数不一样。
例如,服务器A是192.168.0.100,服务器B是192.168.0.101,例如将101上的/www/downloads/new目录下的文件同步到192.168.0.100的/www/download目录下,则100上运行rsync作为服务器端,101做为客户端。
首先把192.168.0.100服务器端的配置文件建立起来。
vi/etc/rsyncd.conf
内容如下:
uid=nobody
gid=nobody
usechroot=yes
maxconnections=4
pidfile=/var/run/rsyncd.pid
lockfile=/var/run/rsync.lock
logfile=/var/log/rsyncd.log
[downloads]
path=/www/downloads/
ignoreerrors
readonly=false
list=false
hostsallow=192.168.0.101/24
hostsdeny=0.0.0.0/32
authusers=backup
secretsfile=/etc/rsyncd.pwd
找个配置文件中,uid和gid指明了运行身份,chroot表示连接后自动切换目录,readonly=false是允许别的客户端向本机的服务器端上传。hostallow和deny是限制连接地址。authuser是认证用户名,secretsfile=/etc/rsyncd.pwd是表示认证用户名的时候到这里读取密码。
接下来编辑密码文件:
vi/etc/rsyncd.pwd
backup:123456
设置密码文件权限700:(权限不对会登陆不上)
chmod700/etc/rsyncd.pwd
然后启动rsync服务:
/usr/bin/rsync--daemon
把rsync加入自动启动脚本,开机后自动启动:
echo"/usr/bin/rsync--daemon">>/etc/rc.d/rc.local
注意一下iptables必须允许rsync的873端口被连接。
现在到192.168.0.101的客户端上,命令格式如下:
rsync[-参数]源地址路径目标地址路径
例如将101上的/www/downloads/new目录下的文件同步到192.168.0.100的/www/downloads目录中。
则创建执行脚本:
vi/root/rsync.sh
rsync-vrtL--progress
/www/downloads/new/*
backup@192.168.0.100::downloads
--password-file=/root/rsync.pwd
-v参数表示显示输出结果,r表示保持属性,t表示保持时间,L表示软link视作普通文件。
创建客户端的密码文件:
vi/root/rsync.pwd
123456
注意:客户端的密码脚本不带用户名。
设置密码文件权限700:(权限不对会登陆不上)
chmod/root/rsync.pwd
将客户端脚本加入定期任务:
echo"003***root/usr/prima/etc/rsync.sh">>/etc/crontab
则每天凌晨3点运行同步。
现在可以直接运行/root/rsync.sh观看效果。
简单的rsync配置完成。