Linux下rsync + lsyncd 实现文件实时同步/备份
发布时间:2018-9-25 12:02:00 阅读次数:

  一般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



秉承“为人民服务”和“雷锋精神”的经营指导思想,为您提供稳定优质的产品和服务!请联系在线客服或致电我们 4006-618-418

  • 网盾科技微信公众号
友情链接 武汉网盾科技  武汉服务器租用  电脑报  海洋网动态云  潜江人论坛  潜江资讯网  海外弹性云主机  HIFIDIY音响论坛  攻城狮健身  华夏影象中心  红隼网络技术服务