您的位置:首页 > 其它

rsync+inotify配置

2015-09-11 20:21 344 查看
场景: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 查看进程

-----------------------------------------------------------------------------------
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息