我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux怎么实现本、异地远程数据实时同步功能

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux怎么实现本、异地远程数据实时同步功能

这期内容当中小编将会给大家带来有关Linux怎么实现本、异地远程数据实时同步功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

0x0 测试环境

总部生产服务器与分部备份服务器要求实现异地数据备份,环境如下

**centos 6.5**生产服务器目录: /home/zytest/files备份服务器目录: /home/zytest/files用户 / 密码: zytest / zytest

0x1 生产服务器环境搭建

0x1.1 安装gcc编译器和rsync

yum install gcc rsync -y

0x1.2 拷贝inotify到服务器并解压

cd /root tar xfvz inotify-tools-3.13.tar.gz

0x1.3 进入inotify 目录安装

cd inotify-tools-3.13./configuremakemake install      /usr/local/bin/inotifywait ##检查是否安装成功

0x2 备份服务器环境搭建

0x2.1 安装 xinetd 和 rsync

yum install xinetd rsync -y

0x3 以下内容两台服务器同步操作

useradd -u 600 zytest  passwd zytest     zytest su - zytest -c 'mkdir /home/zytest/files' ##创建同步目录

0x4 备份服务器上配置rsyncd

0x4.1 编辑/etc/xinetd.d/rsync按照以下内容修改

disable  = yes  ==> disable  = noflags        = IPv6  ==> flags       = IPv4server_args = --daemon ==> server_args = --daemon --config=/etc/rsyncd.conf

0x4.2 编辑/etc/rsyncd.conf 并添加以下脚本信息

uid = rootgid = rootuse chroot = nomax connections = 1000strict mode = yesport = 873pid file = /var/run/rsyncd.pid lock file = /var/run/rsyncd.lock log file = /var/log/rsyncd.log# following for user "zytest", change for other users[zytest]path = /home/zytestignore errorsauth users =zytestsecrets file = /home/rsync-dst.psread only = nolist = false

Ps: rsyncd 配置文件在 xinetd上,所以备份服务器安装xinetd

0x4.3 把密码写入调用的密码文件并赋予权限

echo zytest:zytest >> /home/rsync-dst.pschmod 600 /home/rsync-dst.ps

0x4.4 通过xinetd启动rsync

/etc/rc.d/init.d/xinetd restart

0x5 主服务器上配置inosync脚本文件

** ##编辑/root/inosync添加脚本代码**

#!/bin/sh#chkconfig: 3 78 10 #This file exist from compileif [ ! -f /usr/local/bin/inotifywait ]then echo "cannot start. file inotifywait NOT exist!" exitfi #This file is runnable shell scriptif [ ! -f /usr/local/bin/inosync.so.1 ]then echo "contact administrator. inosync.so.1 NOT exist!" exitfi case "$1" in 'start') /usr/local/bin/inosync.so.1 &;; 'stop') pid=`ps -ef | grep -v grep | grep "inotifywait" | awk '{print $2}'` kill -9 $pid 2>&1;; 'restart') $0 stop $0 start;; esac

0x5.2 赋予脚本权限,设置开机启动

chmod a+x /root/inosync cp /root/inosync /etc/rc.d/init.d

0x5.3 配置调用的主脚本文件 /root/inosync.so.1

rhost=**备份服务器IP**user=zytestclass="lazy" data-src=/home/zytest/filesdst=zytest#dst corresponding to [zytest] in file /etc/rsyncd.conf on dst serverlog=/root/inosync.log/usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M:%S' --format '%T %w%f %e' -e close_write,create,move,delete,attrib $class="lazy" data-src | while read files do echo == rsync begin == >> $log rsync -avP --password-file=/home/rsync-class="lazy" data-src.ps --delete $class="lazy" data-src $user@$rhost::$dst >> $log 2>&1 echo -- rsyncd -- >> $log date >> $log echo "${files} was rsynced " >> $log 2>&1 done

PS: %T后面有空格 %f和%e之间也有空格

0x5.4 赋予inosync.so.1脚本权限,拷贝到/usr/local/bin

chmod a+x /root/inosync.so.1cp /root/inosync.so.1 /usr/local/bin

0x5.5 把密码写入调用的密码文件并赋予权限

echo zytest >> /home/rsync-class="lazy" data-src.pschmod 600 /home/rsync-class="lazy" data-src.ps

0x6 目标服务器设置inosync自动启动并开启inosync服务

chkconfig --level 3 inosync on/etc/rc.d/init.d/inosync start

0x7 测试 END

在生产服务器/home/zytest/files目录下创建文件和文件夹,查看备份存储是否也同步了文件和文件夹,同步即成功。
过程可通过日志查看

tail -f /root/inosync.log

到此这篇关于Linux 通过Rsync+Inotify实现本、异地远程数据实时同步功能的文章就介绍到这了。

上述就是小编为大家分享的Linux怎么实现本、异地远程数据实时同步功能了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux怎么实现本、异地远程数据实时同步功能

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux怎么实现本、异地远程数据实时同步功能

这期内容当中小编将会给大家带来有关Linux怎么实现本、异地远程数据实时同步功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。0x0 测试环境总部生产服务器与分部备份服务器要求实现异地数据备份,环境如下*
2023-06-05

Linux 通过Rsync+Inotify实现本、异地远程数据实时同步功能

0x0 测试环境 总部生产服务器与分部备份服务器要求实现异地数据备份,环境如下**centos 6.5** 生产服务器目录: /home/zytest/files 备份服务器目录: /home/zytest/files 用户 / 密码: z
2022-06-03

Linux文件同步到本地怎么实现

要将Linux系统中的文件同步到本地,可以通过以下几种方式实现:使用rsync命令:rsync命令是一种高效的文件同步工具,可以在本地和远程系统之间同步文件和目录。使用rsync命令可以方便地将Linux系统中的文件同步到本地。例如,要将远
2023-10-27

mongodb实时数据同步怎么实现

要实现MongoDB的实时数据同步,可以使用MongoDB的Change Streams功能。Change Streams允许应用程序监视集合中数据的变化,并在数据变化时触发相应的操作。具体步骤如下:在MongoDB中创建Change S
mongodb实时数据同步怎么实现
2024-04-10

linux中怎么利用ntp命令实现时间同步功能

这篇文章给大家介绍linux中怎么利用ntp命令实现时间同步功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。如果服务器的时间出现混乱,将导致很多意想不到的问题。使用NTP,可以使服务器获取正确的时间,从而避免出现问题
2023-06-13

oracle数据实时同步至postgresql怎么实现

在Oracle数据库与PostgreSQL数据库之间进行实时同步可以通过以下几种方式实现:使用ETL工具:ETL(Extract, Transform, Load)工具可以实现不同数据库之间的数据抽取、转换和加载。您可以使用像Talend、
oracle数据实时同步至postgresql怎么实现
2024-04-17

如何实现Linux操作Git远程仓库与本地仓库同步

这篇文章主要介绍“如何实现Linux操作Git远程仓库与本地仓库同步”,在日常操作中,相信很多人在如何实现Linux操作Git远程仓库与本地仓库同步问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何实现Lin
2023-06-12

java实时数据推送功能怎么实现

要实现Java实时数据推送功能,可以使用WebSocket技术。WebSocket是一种在单个TCP连接上进行全双工通信的协议,它可以实现实时的数据推送。以下是使用Java实现WebSocket实时数据推送的简单步骤:导入WebSocke
java实时数据推送功能怎么实现
2024-02-29

Redis的时间序列数据库功能怎么实现

要在Redis中实现时间序列数据库功能,可以利用Redis的数据结构和命令来存储和处理时间序列数据。以下是一种常见的实现方法:使用Redis的有序集合(Sorted Set)来存储时间序列数据。可以将时间戳作为有序集合的分数,将数据值作为成
Redis的时间序列数据库功能怎么实现
2024-05-07

Java中怎么利用多线程锁实现数据同步共享

Java中怎么利用多线程锁实现数据同步共享,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。大多数应用程序要求线程互相通信来同步它们的动作。在Java程序中最简单实现同步的方法就是
2023-06-17

如何实现linux下使用ssh远程执行命令批量导出数据库到本地

这篇文章主要介绍“如何实现linux下使用ssh远程执行命令批量导出数据库到本地”,在日常操作中,相信很多人在如何实现linux下使用ssh远程执行命令批量导出数据库到本地问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对
2023-06-09

编程热搜

目录