千家信息网

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

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这期内容当中小编将会给大家带来有关Linux怎么实现本、异地远程数据实时同步功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。0x0 测试环境总部生产服务器与分部备
千家信息网最后更新 2025年01月23日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=zytestsrc=/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 $src | while read files do echo == rsync begin == >> $log rsync -avP --password-file=/home/rsync-src.ps --delete $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-src.pschmod 600 /home/rsync-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怎么实现本、异地远程数据实时同步功能了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注行业资讯频道。

服务 服务器 文件 备份 同步 脚本 密码 目录 异地 数据 内容 权限 环境 生产 配置 功能 实时 成功 拷贝 文件夹 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络视频软件开发 文明重启发现服务器不见了 javaweb网络安全论文 计算机网络技术平均工资是多少 对象资源管理器内没有数据库选项 网络安全法 信息保护 上海熠科网络技术有限公司 收件管理服务器 北京乐途科技网络技术有限公司 护苗网络安全教育课5 美国对于服务器的管理 数据库技术可行性分析 织梦网站数据库怎么恢复 挖矿软件开发公司 软件开发常见模式有哪些 网络技术知识基础 网络安全监管问题及对策 nbiot和云服务器是什么关系 数据库怎么建模 朋友网络安全犯罪保释 同济院设计院软件开发 管家婆数据库密码怎么修改 对象资源管理器内没有数据库选项 相框制作软件开发 政法系统网络安全就业 软件开发合同双方义务 阿左旗网络安全应急指挥中心 网络安全活动反思幼儿园 广东采购管理软件开发商 忍者必须死3哪个服务器福利最多
0