Rsync+lsyncd配置详解
般rsync软件是通过crond这支后台进行(计划任务)来实现自动同步数据,如今已有更好的开源软件来代替使用crond了,那就是 lsyncd( Live Syncing (Mirror) Daemon),它的工作原理:监视本地(rsync client)的目录,当源数据有文件或目录更新时,更新本地文件或目录到远端机器(rsync server),保持实时文件同步,但是它更新数据时需要远端rsync server运行rsync demon 一、配置环境如下 系统版本CentOS5.8 服务端:rsync(接收同步资源服务器) 客户端:lsyncd+rsync(发送资源服务器) (1)需要配置rsyncd.conf文件的一端,称为rsync server (2)不需要配置rsyncd.conf文件的一端,称为rsync client clip_image002 二、服务器端安装 1. 安装rsync 2. yum install rsync 默认情况下rsync已安装检查安装 rpm –qa|grep rsync 检查rsync 运行状态 chkconfig –list rsync rsync off (默认为开启) 在xinetd配置中打开rsync服务 [root@node2 ~]# vi /etc/xinetd.d/rsync disable = no ## 默认yes 改成 no 再次检查rsync状态 chkconfig –list rsync rsync on(已开启服务) 3. 确认xinetd服务开启 [root@node2 ~]# chkconfig --level 345 xinetd on 启动xinetd [root@node2 ~]# service xinetd start Starting xinetd: [ OK ] 4、配置rsyncd [root@node2 ~]# vi /etc/rsyncd.conf log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock [wwwroot] path = /www/html hosts allow = 172.16.23.171 uid = root gid = root read only = false 5、重启服务 service xinetd restart 确认873端口监听 [root@node2 ~]# netstat -anp | grep 873 tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 3169/xinetd 6、建立资源同步目录 mkdir /www mkdir /www/html chmod 777 –R www 三、客户端安装(node1上的配置) 1、安装rsync yum install rsync 2、安装lsyncd: 需要lua支持。 安装套件rpmforge-release提供更多yum源。 wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm rpm -ivh rpmforge-release-0.5.2-2.el5.rf.x86_64.rpm yum install lua yum install lsyncd 3、建立配置文件lsyncd.conf [root@node1~]# vi /etc/lsyncd.conf settings = { logfile = "/var/log/lsyncd.log", statusFile = "/tmp/lsyncd.stat", statusInterval =1, } sync{ default.rsync, source="/www/html/", target="172.16.23.173::wwwroot", init=false, rsyncOps={"-avz","--delete"} } 说明:/www/html #要实时同步的目录 172.16.23.173/175/172 #要实时同步到的远端机器即接收服务器地址。 wwwroot #对应远端机器的rsync的tag(下边node2配置中设定) 如果要同步多台就在这个文件中每同步一台加一项如下: sync{ default.rsync, source="/www/html/", target="172.16.23.172::wwwroot", init=galse, rsyncOps={"-avz","--delete"} } sync{ default.rsync, source="/www/html/", target="172.16.23.175::wwwroot", init=galse, rsyncOps={"-avz","--delete"} } 4、建立资源同步目录 mkdir /www mkdir /www/html chmod 777 –R www 5、建立lsyncd日志文件轮转 [root@node1~]# vi /etc/logrotate.d/lsyncd /var/log/lsyncd { missingok notifempty sharedscripts postrotate /etc/rc.d/init.d/lsyncd restart 2>&1 > /dev/null || true endscript } 说明:它的日志保存的文件为/var/log/lsyncd 6、启动lsyncd [root@node1~]# /etc/init.d/lsyncd start 或service lsyncd start 确认lsyncd是否启动 [root@node1~]# /etc/rc.d/init.d/lsyncd status 或service lsyncd status lsyncd (pid 21125) is running... 把lsyncd加入到随机器启动当中 [root@node1~]# chkconfig lsyncd on