1.软件安装
首先检查是否已经安装,检查是否安装rsync软件
rpm -qa |grep rsync
主节点安装sersync
yum –y install sersync
备份节点安装rsync
yum –y install rsync
2.编写配置
- 主节点为IP149
在/usr/local/sersync/conf/tmp的下有个confxml.xml
复制一份到/usr/local/sersync/conf下,进行修改配置
sks_pdf.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<head version="2.5">
<host hostip="localhost" port="8008"></host>
<!--debug 模式打印 -->
<debug start="false"/>
<!--xfs 文件系统开关 -->
<fileSystem xfs="false"/>
<!--#过滤文件 true开启 false关闭 相对于rsync 过滤的文件不会被监控,加大性能 -->
<filter start="false">
<exclude expression="(.*)\.svn"></exclude>
<exclude expression="(.*)\.gz"></exclude>
<exclude expression="^info/*"></exclude>
<exclude expression="^static/*"></exclude>
</filter>
<inotify>
<delete start="true"/> <!--#监控文件或目录的删除 -->
<createFolder start="true"/> <!--#监控目录的创建 -->
<createFile start="false"/> <!--#监控文件创创建事项的修改 -->
<closeWrite start="true"/> <!-- #监控文件关闭的事件的修改 两者只需要一个 -->
<moveFrom start="true"/> <!--#监控文件移动 -->
<moveTo start="true"/> <!--#监控文件移动 -->
<attrib start="false"/> <!--#监控文件属组改变 -->
<modify start="false"/> <!--#监控文件权限 -->
</inotify>
<sersync>
<!--#设置监控的目录 watch-->
<!--##指定目标主机的IP地址remote ip=和模块名name[名称](和samba的类似,不是目录的名称)-->
<localpath watch="/application/tomcat7/webapps/TZ">
<remote ip="192.168.5.120" name="sign_xml"/>
</localpath>
<rsync>
<!-- #指定rsync 运行时的参数,可根据自身需要更改-->
<commonParams params="-aruz"/>
<!-- #启用验证,指定用户名和密码文件(只用写一个密码即可) -->
<!-- #用户名是目标服务器上rsync配置文件中指定的用户名,密码文件中的密码也目标服务器上rsync指定的密码文件指定的密码-->
<auth start="true" users="root" passwordfile="/etc/eisp_rsync/rsync.password"/>
<userDefinedPort start="false" port="874"/><!-- port=874 -->
<!--超时 timeout=100 -->
<timeout start="true" time="100"/>
<ssh start="false"/>
</rsync>
<!--#指定错误的日志文件路径-->
<failLog path="/usr/local/sersync/logs/eisp_signatrue_rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once-->
<crontab start="false" schedule="600"><!--600mins-->
<crontabfilter start="false">
<exclude expression="*.php"></exclude>
<exclude expression="info/*"></exclude>
</crontabfilter>
</crontab>
<plugin start="false" name="command"/>
</sersync>
<plugin name="command">
<param prefix="/bin/sh" suffix="" ignoreError="true"/> <!--prefix /opt/tongbu/mmm.sh suffix-->
<filter start="false">
<include expression="(.*)\.php"/>
<include expression="(.*)\.sh"/>
</filter>
<!--#插件模式-->
</plugin>
<plugin name="socket">
<localpath watch="/opt/tongbu">
<deshost ip="192.168.138.20" port="8009"/>
</localpath>
</plugin>
<plugin name="refreshCDN">
<localpath watch="/data0/htdocs/cms.xoyo.com/site/">
<cdninfo domainname="ccms.chinacache.com" port="80" username="xxxx" passwd="xxxx"/>
<sendurl base="http://pic.xoyo.com/cms"/>
<regexurl regex="false" match="cms.xoyo.com/site([/a-zA-Z0-9]*).xoyo.com/images"/>
</localpath>
</plugin>
</head>
注意修改配置
watch 为同步到备份端的目录。
remote为备份服务器的IP和路径配置别名,sgin_xml在后面会有对应的目录。
users为备份服务器的用户,我用的root所以是root。
passwordfile 是密码文件,填入对应的目录和地址即可。
rsync.password配置如下:
必须改变文件权限为600 ,chomod 600 /etc/eisp_rsync/rsync.password
rsync.password
test
- 备份服务器IP120
在/etc的的目录下新建一个rsyncd-eisp.conf文件
rsyncd-eisp.conf
#rsync_config_______________start
##rsyncd.conf start##
uid = root
gid = root
use chroot = no
max connections = 200
timeout = 300
pid file = /var/run/rsyncd-eisp.pid
lock file = /var/run/rsync-eisp.lock
log file = /var/log/rsyncd-eisp.log
ignore errors
read only = false
list = false
hosts allow = 192.168.5.149
hosts deny = 0.0.0.0/32
auth users = root
secrets file = /etc/eisp_rsync/rsync.password
[sign_xml]
path = /application/tomcat7/webapps/TZ
#rsync_config_______________end
###########################################
hosts allow 允许接入的IP。此处我的主服务器的149所以配置这个。
hosts deny 禁止接入的IP。
auth users 验证密码用户,此处我用的root用户。
secrets file 密码文件。指定你配置的目录即可
备份节点的rsync.password文件和主节点的不同,备份服务器需要加入验证的用户名格式固定为
系统用户:密码
必须改变文件权限为600,chomod 600 /etc/eisp_rsync/rsync.password
root:test
3.启动服务
启动主节点 149机器上执行:
/usr/local/sersync/bin/sersync -r -d -o /usr/local/sersync/conf/sks_pdf.xml
启动备份节点:
/usr/bin/rsync --daemon --config=/etc/rsyncd-eisp.conf
初始同步所有文件一次命令,在149的服务上执行:
cd /application/tomcat7/webapps/TZ && rsync -aruz -R --timeout=100 "./" root@192.168.5.120::sign_xml --password-file=/etc/eisp_rsync/rsync.password