场景: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 查看进程
-----------------------------------------------------------------------------------
-------------------------------------------
节点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 查看进程
-----------------------------------------------------------------------------------