1 介绍

既然有inotify-tools,为什么还要开发sersync,因为sersyc有如下优点

  • 支持配置文件管理
  • 真正的守护进程socket
  • 可以对失败文件定时重传(定时任务功能)
  • 第三方的http结构(例如更新cdn的缓存)
  • 默认多线程rsync同步

sersync软件是基于inotity软件开发的一款自动化实时同步工具,没有yum安装包,网络上下载好上载至linux系统中,版本要求和inotiyf一样,linux 64位2.6.13

2 安装

2.1 上传和安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@xxx ~]# mkdir -p /server/tools
[root@xxx ~]# rz
[root@xxx ~]# ls -lh sersync.tar.gz
-rw-r--r-- 1 root root 711K 6月 17 23:08 sersync.tar.gz
[root@xxx ~]# tar xf sersync.tar.gz
[root@xxx ~]# mv sersync /usr/local
[root@xxx ~]# ln -s /usr/local/sersync/bin/sersync /usr/local/bin/
[root@xxx ~]# chmod u+x /usr/local/sersync/bin/sersync
[root@xxx ~]# tree /usr/local/sersync
/usr/local/sersync
├── bin
│ └── sersync
├── conf
│ └── confxml.xml
└── logs

bin目录是下是主程序,conf目录下是配置文件,logs目录用来存放日志文件

2.2 编辑配置文件

1.查看配置文件

1
2
3
[root@xxx ~]# cd /usr/local/sersync/conf/
[root@xxx ~]# ll
-rw-r--r-- 1 root root 2214 2011-10-26 11:54 confxml.xml

2.配置文件中重点内容

  • 实现同步数据过滤排除功能部分
  • 类似于inotify的-e参数功能,指定监控的事件信息
  • 数据相关的配置信息,调整此处配置

3.修改配置文件中数据相关配置[红色]

1
2
3
4
5
6
7
8
9
10
11
12
13
23 <sersync>
24 <localpath watch="/data">
25 <remote ip="172.16.1.41" name="backup"/>
26 <!--<remote ip="192.168.8.39" name="tongbu"/>-->
27 <!--<remote ip="192.168.8.40" name="tongbu"/>-->
28 </localpath>
29 <rsync>
30 <commonParams params="-az"/>
31 <auth start="true" users="rsync_backup" passwordfile="/etc/rsync.password"/>
32 <userDefinedPort start="false" port="874"/><!-- port=874 -->
33 <timeout start="false" time="100"/><!-- timeout=100 -->
34 <ssh start="false"/>
35 </rsync>

3 启动sersync

3.1 查看帮助信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[root@xxx ~]# sersync/bin/sersync -h
set the system param
execute:echo 50000000 > /proc/sys/fs/inotify/max_user_watches
execute:echo 327679 > /proc/sys/fs/inotify/max_queued_events
parse the command param
_______________________________________________________
参数-d:启用守护进程模式
参数-r:在监控前,将监控目录与远程主机用rsync命令推送一遍
参数-n: 指定开启守护线程的数量,默认为10个
参数-o:指定配置文件,默认使用confxml.xml文件
参数-m:单独启用其他模块,使用 -m refreshCDN 开启刷新CDN模块
参数-m:单独启用其他模块,使用 -m socket 开启socket模块
参数-m:单独启用其他模块,使用 -m http 开启http模块
不加-m参数,则默认执行同步程序
常用的参数为-d -r -o

3.2 启动命令

1
sersync -dro /usr/local/sersync/conf/confxml.xml

将此命令写入rc.local中,实现开机自启动