首先安装Rsync,比如在Redhat Fedora Linux上或者RHEL AS3上: 1 | rpm -ivh rsync -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 内容如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | uid = nobody
gid = nobody
use chroot = yes
max connections = 4
pid file = /var/run/rsyncd .pid
lock file = /var/run/rsync .lock
log file = /var/log/rsyncd .log
[downloads]
path = /www/downloads/
ignore errors
read only = false
list = false
hosts allow = 192.168.0.101 /24
hosts deny = 0.0.0.0 /32
auth users = backup
secrets file = /etc/rsyncd . pwd
|
找个配置文件中,uid和gid指明了运行身份,chroot表示连接后自动切换目录,read only=false是允许别的客户端向本机的服务器端上传。host allow和deny是限制连接地址。auth user是认证用户名,secrets file = /etc/rsyncd.pwd是表示认证用户名的时候到这里读取密码。 接下来编辑密码文件: 1 2 3 4 5 | vi /etc/rsyncd . pwd backup:123456
chmod 700 /etc/rsyncd . pwd
/usr/bin/rsync --daemon
echo "/usr/bin/rsync --daemon" >> /etc/rc .d /rc . local
|
现在到192.168.0.101的客户端上,命令格式如下: rsync [-参数] 源地址路径 目标地址路径 例如将101上的/www/downloads/new目录下的文件同步到192.168.0.100的/www/downloads目录中。 则创建执行脚本: vi /root/rsync.sh 1 2 | 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 注意:客户端的密码脚本不带用户名。 设置密码文件权限700:(权限不对会登陆不上) 1 2 | chmod /root/rsync . pwd
echo "00 3 * * * root /usr/prima/etc/rsync.sh" >> /etc/crontab
|
现在可以直接运行 /root/rsync.sh 观看效果。 简单的rsync配置完成。
|