服务器上安装sersync工具,实时触发rsync进行同步

简介:

源服务器上安装sersync工具,实时触发rsync进行同步

Sersync 工具实时检测源服务器上指定目录下文件的变化,只要指定目录下文件或者目录的变化,就促发同步到目标服务器指定的目录

 

2.4.1查看服务器内核是否支持inotify

ll /proc/sys/fs/inotify   #列出文件目录,出现下面的内容,说明服务器内核支持inotify

 

[root@maven01 ceshi]# ll /proc/sys/fs/inotify

total 0

-rw-r--r-- 1 root root 0 Aug  5 13:39 max_queued_events

-rw-r--r-- 1 root root 0 Aug  5 13:39 max_user_instances

-rw-r--r-- 1 root root 0 Aug  5 13:39 max_user_watches

备注:Linux下支持inotify的内核最小为2.6.13,可以输入命令:uname -a查看内核

CentOS 5.X内核为2.6.18,默认已经支持inotify

2.4.2修改inotify默认参数(inotify默认内核参数值太小)

查看系统默认参数值:

[root@maven01 ceshi]# sysctl -a | egrep"max_queued_events|max_user_watches|max_user_instances"

fs.inotify.max_user_instances = 128

fs.inotify.max_user_watches = 8192

fs.inotify.max_queued_events = 16384

fs.epoll.max_user_watches = 203960

 

修改参数:

[root@maven01 ceshi]# sysctl -wfs.inotify.max_queued_events="800000"

fs.inotify.max_queued_events = 800000

[root@maven01 ceshi]# sysctl -wfs.inotify.max_user_watches="800000"

fs.inotify.max_user_watches = 800000

[root@maven01 ceshi]# sysctl -wfs.inotify.max_user_instances="65535"

fs.inotify.max_user_instances = 65535

 

[root@maven01 ceshi]# sysctl -a | egrep"max_queued_events|max_user_watches|max_user_instances"

fs.inotify.max_user_instances = 65535

fs.inotify.max_user_watches = 800000

fs.inotify.max_queued_events = 800000

 

vi /etc/sysctl.conf #添加以下代码

fs.inotify.max_queued_events=99999999

fs.inotify.max_user_watches=99999999

fs.inotify.max_user_instances=65535

:wq! #保存退出

参数说明:

max_queued_events

inotify队列最大长度,如果值太小,会出现"**Event Queue Overflow **"错误,导致监控文件不准确

max_user_watches

要同步的文件包含多少目录,可以用:find /home/www.osyunwei.com -type d | wc -l 统计,必须保证max_user_watches值大于统计结果(这里/home/www.osyunwei.com为同步文件目录)

max_user_instances

每个用户创建inotify实例最大值

2.4.3安装sersync

tar zxvfsersync2.5.4_64bit_binary_stable_final.tar.gz

mv GNU-Linux-x86 /usr/local/sersync 

[root@mantu_hw ~]# ll /usr/local/sersync/*

-rwxr-xr-x 1 root root    2239 2  13 16:09 /usr/local/sersync/confxml-1.xml

-rwxr-xr-x 1 root root    2231 2  13 16:10 /usr/local/sersync/confxml-2.xml

-rwxr-xr-x 1 root root    2214 2  13 15:29 /usr/local/sersync/confxml.xml.bak

-rwxr-xr-x 1 root root 1617440 6  29 2010 /usr/local/sersync/sersync2

2.4.4配置sersync

4.1参数说明:

localpath watch="/home/www.osyunwei.com"#源服务器同步目录

10.0.1.254#目标服务器IP地址

name=" mhttongbu1" #目标服务器rsync同步目录模块名称

users=" tongbu_user" #目标服务器rsync同步用户名

passwordfile="/etc/passwd.txt" #目标服务器rsync同步用户的密码在源服务器的存放路径

remote ip="10.0.1.254": #目标服务器ip,每行一个

remote ip="10.0.1.254": #目标服务器ip,每行一个

failLogpath="/tmp/rsync_fail_log.sh"  #脚本运行失败日志记录

start="true"  #设置为true,每隔600分钟执行一次全盘同步

 

[root@mantu_hw sersync]# cat -n confxml-1.xml|sed-n '23,38p'

    23        <sersync>

    24              <localpathwatch="/data/matula/pic/cover">监测源服务器的目录

    25                 <remote ip="10.0.1.254"name="mhttongbu1"/>目标服务器ip

    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="-artuz"/>

    31                 <authstart="true" users="tongbu_user" passwordfile="/etc/passwd.txt"/>

    32                  <userDefinedPort start="false"port="874"/><!-- port=874 -->

    33                 <timeout start="false" time="100"/><!--timeout=100 -->

    34                 <ssh start="false"/>

    35              </rsync>

    36              <failLogpath="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--defaultevery 60mins execute once-->

    37              <crontabstart="false" schedule="600"><!--600mins-->

38                  <crontabfilterstart="false">


启动两个配置文件监测两个不同的同步目录

/usr/local/sersync/sersync2 -d -r -o/usr/local/sersync/confxml-1.xml

/usr/local/sersync/sersync2 -d -r -o/usr/local/sersync/confxml-2.xml

默认是10个进程

下面的-n参数可以指定进程的:

/usr/local/sersync/sersync2 -n 20 -d -r -o/usr/local/sersync/confxml-1.xml



 本文转自 wjw555 51CTO博客,原文链接:http://blog.51cto.com/wujianwei/1962475

相关文章
|
1月前
|
缓存 监控 网络安全
因服务器时间不同步引起的异常
因服务器时间不同步引起的异常
92 1
|
1月前
|
Java
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
75 9
|
15天前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
97 15
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
1月前
|
Ubuntu 网络协议 关系型数据库
超聚变服务器2288H V6使用 iBMC 安装 Ubuntu Server 24.04 LTS及后续系统配置
【11月更文挑战第15天】本文档详细介绍了如何使用iBMC在超聚变服务器2288H V6上安装Ubuntu Server 24.04 LTS,包括连接iBMC管理口、登录iBMC管理界面、配置RAID、安装系统以及后续系统配置等步骤。
130 4
|
1月前
|
NoSQL Linux PHP
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
67 4
|
2月前
|
监控 Java Linux
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
70 5
Linux系统之安装Ward服务器监控工具
|
1月前
|
监控 Kubernetes 安全
如何设置一个有效的远程管理工具来简化服务器的维护工作?
如何设置一个有效的远程管理工具来简化服务器的维护工作?
|
2月前
|
人工智能 安全 大数据
ARM 服务器上安装 OpenEuler (欧拉)
openEuler 是华为于2019年开源的操作系统,支持多种处理器架构,包括X86和鲲鹏。截至2020年底,openEuler 拥有3万社区用户、2万多个拉取请求、2000多名贡献者和7032款软件。openEuler 提供高效、稳定、安全的系统,适用于数据库、大数据、云计算和人工智能等场景。本文介绍了在神州鲲泰 R522 服务器上安装 openEuler 的详细步骤,包括下载镜像、配置 RAID 和 BIOS 设置等。
343 0
ARM 服务器上安装 OpenEuler (欧拉)
|
2月前
|
Ubuntu TensorFlow 算法框架/工具
NVIDIA Triton系列05-安装服务器软件
本文介绍了NVIDIA Triton推理服务器的安装方法,涵盖源代码编译、可执行文件安装及Docker容器部署三种方式。重点讲解了在NVIDIA Jetson AGX Orin设备上的安装步骤,适合Ubuntu 18及以上系统。通过检查HTTP端口状态确认服务器运行正常,为后续客户端软件安装做准备。
67 0
NVIDIA Triton系列05-安装服务器软件
|
2月前
|
弹性计算 应用服务中间件 网络安全
ECS服务器使用:SSL证书安装、配置和问题定位指南
本文简要介绍了SSL证书的生成与部署方法,包括使用OpenSSL生成自签名证书和从CA获取证书的步骤,以及在Apache和Nginx服务器上的配置方法。此外,还提供了测试证书是否生效的方法和常见问题的解决策略,帮助确保证书正确安装并解决调试过程中可能遇到的问题。
214 0