平时可以利用ssh客户端密钥建立信任关系来使rsync同步,但可能存在用户权限过大的问题. 这里以daemon或服务的方式运行可以提高安全性.
一.rsync的安装 rsync现在系统一般都自带 a.yum install rsync
b.http://rsync.samba.org/ 使用rpm或源码等方式安装
二.配置rsync rsync的主要有以下三个配置文件rsyncd.conf(主配置文件)、rsyncd.secrets(密码文件)、rsyncd.motd(rysnc服务器信息)
1.服务器配置文件(/etc/rsyncd.conf),该文件默认不存在,请创建它。 注:关于auth users是必须在服务器上存在的真实的系统用户,如果你想用多个用户以,号隔开,比如auth users = www,root 定义一个discuz的模块 vi /etc/rsyncd.conf
2.设定密码文件 密码文件格式很简单,rsyncd.secrets的内容格式为: 用户名:密码 我们在例子中rsyncd.secrets的内容如下类似的;在文档中说,有些系统不支持长密码,自己尝试着设置一下吧。 vi /etc/rsyncd.secrets
chown root:root /etc/rsyncd.secrets #修改属主 chmod 600 /etc/rsyncd.secrets #修改权限
注:1、将rsyncd.secrets这个密码文件的文件属性设为root拥有, 且权限要设为600, 否则无法备份成功! 出于安全目的,文件的属性必需是只有属主可读。 2、这里的密码值得注意,为了安全你不能把系统用户的密码写在这里。比如你的系统用户www密码是000000,为了安全你可以让rsync中的www为c1gstudiopass。这和samba的用户认证的密码原理是差不多的。
3.设定rsyncd.motd 文件; 它是定义rysnc服务器信息的,也就是用户登录信息。比如让用户知道这个服务器是谁提供的等;类似ftp服务器登录时,我们所看到的 c1gstudio.com ftp ……。 当然这在全局定义变量时,并不是必须的,你可以用#号注掉,或删除;我在这里写了一个 rsyncd.motd的内容为: vi /etc/rsyncd.motd
三.运行 A. xinetd方式 省略
B. –daemon参数方式,是让rsync以服务器模式运行
添加到/etc/rc.local,启动后自动运行
防火墙 授权192.168.0.0 C类
授权单个IP192.168.0.21
/etc/init.d/iptables save
四,调试 192.168.0.24为rsynce daemon端,接收数据 192.168.0.21为源数据推送端,发送数据
推送端调试列表 rsync –list-only [email protected]:: rsync: failed to connect to 192.168.0.24: Connection timed out (110) 检查防火墙,rsyncd里用户权限 传送本地/opt/htdocs/bbs/data/cache 到远端discuz模块下的data目录
创建密码文件方便免登录,密码和服务器端保持一致
以密码文件全部同步一次
最后再以脚本方式配合inotify和crontab就可以实现自动同步
参考:http://www.cnblogs.com/itech/archive/2009/08/10/1542945.html
我们公司用内网vpn做的.