使用sersync整合rsync,实现WEB页面同步更新,亦可做数据备份之用

	      		 --> webser1[webroot]	192.168.0.16
	     		/	
sersync+rsync--->  webser2[webroot]	192.168.0.20
   192.168.0.15(/webroot)\
	       		 -->  webser3[webroot]	192.168.0.8

原理:

通过Linux内核的inotify 机制,根据源目录的变化情况,安排触发更新式的rsync同步任务

以上拓补图中sersync就是源目录服务器,所有对网页修改的更新只需要在源目录服务器上做修改即可更新至三对WEB_SERVE上

实现过程:

1.在webserver1,webserver2,webserver3使用rsyncd服务共享出一个目录来:

bash 复制代码
mkdir /webroot

chown nobody.nobody /webroot

vim /etc/rsyncd.conf
uid=nobody
gip=nobody
use chroot=yes
address=0.0.0.0
port 873
log file=/var/log/rsyncd.log
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsyncd.lock
hosts allow=192.168.0.0/24
hosts deny=*

[webroot]
        path=/webroot
        comment= web root share with rsync
        read only=no
        auth users=user01 user02
        secrets file=/etc/rsyncd_user.db
bash 复制代码
vim /etc/rsyncd_user.db
user01:123
user02:456
bash 复制代码
chmod 600 /etc/rsyncd_user.db
mkdir /webroot
chown nobody.nobody /webroot

在三台机器上启用服务:

bash 复制代码
system start rsync

2.在sersync_server上安装sersync软件包:

bash 复制代码
tar xzvf sersync2.5_32bit_binary_stable_final.tar.gz -C /opt	--解压出来直接可用(二进制)
mv GNU-Linux-x86/ sersync
cd sersync
vim confxml		--编辑配置文件
    <sersync>
        <localpath watch="/var/tmp">	--定义监控的目录
            <remote ip="192.168.1.10" name="webroot"/>	--同步到远程服务器的ip及rsync共享名称
            <remote ip="192.168.1.20" name="webroot"/>
            <remote ip="192.168.1.30" name="webroot"/>	   
        </localpath>
        <rsync>
            <commonParams params="-artuz"/>	--rcync同步参数
            <auth start="true" users="user01" passwordfile="/root/passwd.txt"/>	--定义登录远程服务器的账号/密码
            <userDefinedPort start="flase" port="873"/><!-- port=874 -->	--定义端口
            <timeout start="false" time="100"/><!-- timeout=100 -->		--定义超时时间
            <ssh start="false"/>
        </rsync>
bash 复制代码
vim /root/passwd.txt
123

chmod 600 /root/passwd.txt	--必须设置600的权限才能使用.
bash 复制代码
./sersync2 -d -r	-d以后后服务器的方式启动,-r清除远程服务器文件中本地服务器没有的文件
-o 指定配置文件,默认在本在目录加载
-n 指定线程数量
./sersync2 -h 查看帮助.

3.测试

在sersync_server上的/var/tmp目录中做文件的增删改则这些操作会被同步至其它三台webserver

相关推荐
韩楚风3 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学3 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO3 小时前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
Pythonliu73 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我4 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
追风赶月、4 小时前
【Linux】进程地址空间(初步了解)
linux
栎栎学编程4 小时前
Linux中环境变量
linux
我是哈哈hh4 小时前
专题十_穷举vs暴搜vs深搜vs回溯vs剪枝_二叉树的深度优先搜索_算法专题详细总结
服务器·数据结构·c++·算法·机器学习·深度优先·剪枝
郭二哈4 小时前
C++——模板进阶、继承
java·服务器·c++
挥剑决浮云 -4 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记