首先安装Rsync,比如在Redhat Fedora Linux上或者RHEL AS3上:
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 内容如下:
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是表示认证用户名的时候到这里读取密码。
接下来编辑密码文件:
vi /etc/rsyncd.pwd backup:123456 #设置密码文件权限700:(权限不对会登陆不上) chmod 700 /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 "00 3 * * * root /usr/prima/etc/rsync.sh" >> /etc/crontab #则每天凌晨3点运行同步。
现在可以直接运行 /root/rsync.sh 观看效果。
简单的rsync配置完成。
开启:
auth users = demo secrets file = /www/rsync/pwd
立刻就报错:
rsync -vrtL --delete --password-file=/www/rsync/pwd_remote /www/rsync/demo user@ ip::backup
@ ERROR: auth failed on module backup
rsync error: error starting client-server protocol (code 5) at main.c(1524) [sender=3.0.7]
如果是匿名同步,就没有任何问题,请求解答!
rsync版本:3.0.7 os:ubuntu server
不错的教程!够详细!
######开启:
auth users = demo secrets file = /www/rsync/pwd
立刻就报错:
rsync -vrtL --delete --password-file=/www/rsync/pwd_remote /www/rsync/demo user@ ip::backup
@ ERROR: auth failed on module backup
rsync error: error starting client-server protocol (code 5) at main.c(1524) [sender=3.0.7]
如果是匿名同步,就没有任何问题,请求解答!
rsync版本:3.0.7 os:ubuntu server
######mark######实践证明,
rsync -vrtL --progress \ /www/downloads/new/* \ backup@192.168.0.100::downloads \ --password-file=/root/rsync.pwd
要改为
rsync -vrtL --progress /www/downloads/new/ backup@192.168.0.100::downloads --password-file=/root/rsync.pwd
不然要报
@ ERROR: auth failed on module backup
的错误。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。