sersync2+rsync目录文件实时同步备份

简介:

 

 

说明:

192.168.1.2 (sersync+rsync)---------------FTP

192.168.1.3 (rsync)--------------------------backup

实验目的:

实时自动同步:192.168.1.2 ------->192.168.1.3到目录:/data/ftpdata ;

一、FTP服务器(sersync+rsync)

1、准备软件包

[root@ftp ~]# wget http://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz

[root@ftp ~]# wget http://sersync.googlecode.com/files/sersync2.5_64bit_binary_stable_final.tar.gz

 

2、安装sersync

[root@ftp ~]# mkdir /data/ftpdata

[root@ftp ~]# tar -zxvf sersync2.5_64bit_binary_stable_final.tar.gz -C /usr/bin/

[root@ftp ~]# cd /usr/bin/GNU-Linux-x86/

[root@ftp GNU-Linux-x86]# cp confxml.xml confxml.xml.bak

[root@ftp GNU-Linux-x86]# ls

confxml.xml        #主配置文件

confxml.xml.bak

sersync2                   #主程序二进制文件

编辑confxml.xml配置文件:

[root@ftp GNU-Linux-x86]# vim confxml.xml

<sersync>

<localpath watch="/data/ftpdata">                #监控的目录

<remote ip="192.168.1.3" name="ftpdata"/>    #backupIPftpdata为客户端rsync模块名

<!--<remoteip="192.168.8.39" name="tongbu"/>-->

<!--<remoteip="192.168.8.40" name="tongbu"/>-->

</localpath>

:wq

 

3、安装Rsync

[root@ftp ~]# tar -zxvf rsync-3.0.9.tar.gz

[root@ftp ~]# cd rsync-3.0.9

[root@ftp rsync-3.0.9]# ./configure --prefix=/usr/local/rsync

[root@ftp rsync-3.0.9]# make;make install

防火墙开启rsync端口:873

[root@ftp ~]# vim /etc/sysconfig/iptables/

添加:

-A INPUT -m state --state NEW -m tcp -p tcp--dport 873 -jACCEPT

重启:

[root@ftp ~]# /etc/init.d/iptables restart

二、备份服务器(rsync)

1、准备工作

创建备份目录:

[root@backup ~]# mkdir /data/ftpdata

 

2、准备软件包

[root@backup ~]# wgethttp://rsync.samba.org/ftp/rsync/rsync-3.0.9.tar.gz

3、安装rsync(备份服务器只安装rsync

[root@backup ~]# tar -zxvf rsync-3.0.9.tar.gz 

[root@backup ~]# cd rsync-3.0.9

[root@backup rsync-3.0.9]# ./configure --prefix=/usr/local/rsync

[root@backup rsync-3.0.9]# make;make install

 

4、建立rsync配置文件

[root@backup ~]# vim /etc/rsyncd.conf

uid=root

gid=root

maxconnections=36000

usechroot=no

logfile=/var/log/rsyncd.log

pidfile=/var/run/rsyncd.pid

lockfile=/var/run/rsyncd.lock

[ftpdata]

path=/data/ftpdata

comment =ftp files

ignoreerrors = yes

read only= no

hostsallow = 192.168..1.0/24

hostsdeny = *

:wq

启动rsync服务

[root@backup ~]# rsync --daemon

rsync启动加到启动项里

[root@backup ~]# echo "rsync--daemon" >> /etc/rc.local

[root@backup ~]# ps -ef |grep rsync

root525010 19:24 ?00:00:00 rsync --daemon

防火墙开启rsync端口:873

[root@backup ~]# vim /etc/sysconfig/iptables

添加:

-A INPUT -m state --state NEW -m tcp -p tcp--dport 873 -jACCEPT

重启:

[root@backup ~]# /etc/init.d/iptablesrestart

三、启动sersync服务

FTP服务器(sersync+rsync)上开启sersync守护进程,使sersync在后台运行,开启实时同步。

[root@ftp GNU-Linux-x86]# ./sersync2 -d -r

set thesystem param

executeecho50000000 > /proc/sys/fs/inotify/max_user_watches

executeecho 327679> /proc/sys/fs/inotify/max_queued_events

parse thecommand param

option:-drun as a daemon

option:-rrsync all the local files to theremote servers before the sersync work

daemonthread num: 10

parse xmlconfig file

host ip :localhosthost port: 8008

daemonstartsersync run behind the console 

config xmlparse success

pleaseset /etc/rsyncd.conf max connections=0 Manually

sersyncworking thread 12= 1(primary thread) +1(fail retry thread) + 10(daemon sub threads) 

Maxthreads numbers is: 22 = 12(Thread pool nums) + 10(Sub threads)

pleaseaccording your cpu use -n param to adjust the cpu rate

------------------------------------------

rsync thedirectory recursivly to the remote servers once

workingplease wait...

executecommand: cd /data/ftpdata && rsync -artuz -R --delete ./ 192.168.1.3::ftpdata>/dev/null 2>&1 

run thesersync: 

watchpath is: /data/ftpdata

*表明,sersync已经开启,可以在本地监控路径建立文件,查看远程是否同步成功!

 

[root@ftp GNU-Linux-x86]# ps -ef |grep rsync

root137710 18:48 ?00:00:00 ./sersync2 -d –r

最后需要把sersync命令加入到/etc/rc.local以开机自启动

[root@ftp GNU-Linux-x86]# echo "cd/usr/bin/GNU-Linux-x86&&./sersync2 -d -r" >> /etc/rc.local

四、测试验证

1、在ftp/data/ftpdata目录上创建一个文件夹:

[root@ftp ftpdata]# mkdir zl

 

2、在backup端查看/data/ftpdata目录是否相同;

[root@backup ~]# ll /data/ftpdata/

五、备份与恢复

1、手动备份

192.168.1.2---------->192.168.1.3 

[root@ftp~]# /usr/bin/rsync -vzrtopg --delete /data/ftpdata/ root@192.168.1.3::ftpdata

 

2、手动恢复

192.168.1.3---------->192.168.1.2 

[root@ftp~]# /usr/bin/rsync -vzrtopg --delete root@192.168.1.3::ftpdata/data/ftpdata/




本文转自 yhw85 51CTO博客,原文链接:http://blog.51cto.com/yanghuawu/1221875,如需转载请自行联系原作者

相关文章
|
11月前
|
编解码 监控 测试技术
如何优化OBS的推流设置以提高直播质量
【10月更文挑战第7天】如何优化OBS的推流设置以提高直播质量
|
5月前
|
人工智能 API 语音技术
6.5K star!AI视频翻译配音神器,一键生成多平台适配内容,专业级本地化方案来袭!
KrillinAI 是一款基于 AI 大模型的视频翻译与配音工具,支持 12 种输入语言和 101 种输出语种,提供专业级翻译质量。其核心功能包括跨语言智能转换、全流程自动化处理及多项黑科技如语音克隆、术语替换等。技术架构涵盖 WhisperKit、OpenAI API 和 FFmpeg 等组件,实现从视频输入到多平台输出的一站式服务。项目已开源,详情见 GitHub 地址:https://github.com/krillinai/KrillinAI。
294 1
|
10月前
|
数据安全/隐私保护
OAuth2.0实战案例
OAuth2.0实战案例
257 0
OAuth2.0实战案例
|
10月前
|
Ubuntu Shell 开发工具
ubuntu/debian shell 脚本自动配置 gitea git 仓库
这是一个自动配置 Gitea Git 仓库的 Shell 脚本,支持 Ubuntu 20+ 和 Debian 12+ 系统。脚本会创建必要的目录、下载并安装 Gitea,创建 Gitea 用户和服务,确保 Gitea 在系统启动时自动运行。用户可以选择从官方或小绿叶技术博客下载安装包。
390 2
|
敏捷开发 定位技术 开发者
poc Proof of Concept
Proof of Concept(简称 POC)是概念验证的意思。在软件开发领域,POC 通常用于验证某个想法或概念是否可行。它通常是一个小型项目或原型,可以通过实际操作来证明某个想法或技术的有效性。POC 可以帮助开发者在项目开始之前确定技术的可行性,减少开发过程中的风险。
2004 3
|
12月前
|
数据采集 Python
Python:某市公交线路站点的爬虫实现
Python:某市公交线路站点的爬虫实现
159 1
|
数据采集 存储 数据管理
OneData:阿里巴巴的数据仓库之旅与统一数据治理实践
OneData 为解决大数据时代的挑战提供了一条可行的道路,对于其他企业和组织来说具有重要的参考意义。随着技术的不断进步和应用场景的扩展,OneData 的未来发展值得期待。
|
传感器 存储 安全
机器通信 | 《5G移动无线通信技术》之八
本节主要介绍了机器通信的内容以及超可靠机器类通信。
机器通信  | 《5G移动无线通信技术》之八