rsync+inotify配置

场景:rsync+inotify
-------------------------------------------
节点A:
IP:10.1.221.86
hostname=vmu010681
-------------------------------------------
节点B:
IP:10.1.221.87
hostname=vmu010682
-------------------------------------------
节点A /opt/jboss/server/vipcrm/deploy 目录下的 crm.war common.war 需要同步到 节点B
---------------------------------------------------------------------------------
节点 B 需要安装:
yum -y install rsync

配置rsync server服务:
#vi /etc/rsyncd.conf

uid = nobody                            //运行RSYNC守护进程的用户
gid = nobody                            //运行RSYNC守护进程的组
use chroot = no
strict modes = yes                      //是否检查密码口令的权限,yes-文件必须为root用户权限
pid file = /var/run/rsync/rsyncd.pid
lock file = /var/run/rsync/rsyncd.lock
log file = /var/run/rsync/rsyncd.log

[vmu010682]                           //这里是认证的模块名,在client端需要指定
path = /opt/jboss/server/vipcrm/      //需要做镜像的目录,不可缺少
comment = vmu010682 file
ignore errors                         # 可以忽略一些无关的IO错误
read only = no                         //可上传
write only = no                        //可下载
hosts allow = 10.1.221.86             # 允许的IP地址
hosts deny = *                        # 禁止的IP 地址
list = false
uid = root
gid = root
auth users = crmadmin               //认证的用户名,如果没有这行则表明是匿名,此用户与系统无关
secrets file = /etc/crmadmin.pass   //密码和用户名对比表,密码文件手动创建

#cat /etc/crmadmin.pass
crmadmin:crmadmin123


加入开机启动
# echo "/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf" >>/etc/rc.local 如果在etc目录下可以不加--config参数
-----------------------------------------------------------------------------------------------------------------------
RSYNC服务端启动的两种方法
1、启动rsync服务端(独立启动)
#/usr/bin/rsync –daemon
2、启动rsync服务端 (有xinetd超级进程启动)
# /etc/rc.d/init.d/xinetd reload
四:加入rc.local
在各种操作系统中,rc文件存放位置不尽相同,可以修改使系统启动时把rsync --daemon加载进去。
#vi /etc/rc.local
加入一行/usr/bin/rsync --daemon
    

五.检查rsync
#netstat -a | grep rsync


如果要在启动时把服务起来,有几种不同的方法,比如:
a、加入inetd.conf
------------------------------------------------------------------------------------------------------------------------
编辑/etc/services,加入rsync 873/tcp,指定rsync的服务端口是873
修改services加入如下内容
  # vi /etc/services
  rsync  873/tcp  # rsync
  rsync  873/udp  # rsync

这一步一般可以不做,通常都有这两行。修改的目的是让系统知道873端口对应的服务名为rsync。如没有的话就自行加入。
然后设定 /etc/xinetd.d/rsync, 简单例子如下:
  # default: off
  # description: The rsync server is a good addition to am ftp server, as it \
  #       allows crc checksumming etc.
  service rsync
  {
        disable = no
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
  }
b、加入rc.local
在各种操作系统中,rc文件存放位置不尽相同,可以修改使系统启动时rsync --daemon加载进去。
-------------------------------------------------------------------------------
在节点A生成一个密码文件/etc/crmadmin.pass
#cat /etc/crmadmin.pass
crmadmin123

#chmod 600 /etc/crmadmin.pass

节点A需要安装inotify-tools-3.14.tar.gz

---------------------------------------------------------------------------
# vi /home/crmadmin/cpcrm.sh

#!/bin/bash
host1=10.1.221.87

src=/opt/jboss/server/vipcrm/deploy/
dst1=vmu010682
user1=crmadmin

/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $src \
| while read files
      do
      /usr/bin/rsync -vzrtopg --delete --progress --password-file=/etc/crmadmin.pass $src $user1@$host1::$dst1
      echo "${files} was rsynced" >> /tmp/rsync.log 2>&1
      done

加入开机启动
# echo "/home/crmadmin/cpcrm.sh &" >>/etc/rc.local
ps -ef | grep  inotify 查看进程
-----------------------------------------------------------------------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值