服务器文件主从实时同步

2023-11-15

服务器列表
# 1192.168.199.230
# 2192.168.199.183
192.168.199.105

第一步、分别配置好SSH免登陆

参考:点这里

第二步、分别装好 rsync
yum -y install rsync

第三步、设置 2从 服务器的 rsync.conf
vim /etc/rsyncd.conf

rsyncd.conf 文件内容中原有内容全部注释,然后在文件中追加以下内容,记得替换其中 hosts allow 后面的IP地址。
# 全局信息
uid = root
gid = root
log file = /var/log/rsyncd.log

[wwwroot]
# 文件目录
path = /home/wwwroot
# 允许IP
hosts allow = 192.168.199.230 192.168.199.105
# 禁止IP,不包括允许IP
hosts deny = *
# 是否显示目录
list = true
# 是否只读
read only = false

第四步、开启 2从 服务器的 rsync 服务
/usr/bin/rsync --daemon

第五步、在 1主 服务器 上安装相关应用
yum -y install lua lua-devel
rpm -iUvh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
yum -y install lsyncd

第六步、在 1主 服务器 上配置 lsyncd
vim /etc/lsyncd.conf

原有内容通过 -- 两个减号注释掉,settings 中是全局配置,servers 中是2从服务器的IP地址,随后通过一个for循环针对2从服务器配置rsync信息
-- 基本设置
settings{
    statusFile = "/var/log/lsyncd/lsyncd.log",
    statusInterval = 1
}
-- 服务器
servers = {
    "192.168.199.183",
    "192.168.199.105"
}

for _, server in ipairs(servers) do
sync{
    default.rsyncssh,
    source="/root/iguoji/",
    host=server,
    targetdir="/home/wwwroot/",
    delay = 0,
    rsync = {
        binary = "/usr/bin/rsync",
        compress = true,
        archive = true,
        verbose = true,
        --rsh = "/usr/bin/shh -p 22 -o StrichHostKeyChecking=no"
    }
}
end

第七步、开启 1主 服务器的 lsyncd 服务
systemctl start lsyncd.service

第八步、测试是否同步

在主服务器的 /root/iguoji/ 文件夹中创建文件1
touch 1

随后在两个从服务器的 /home/wwwroot/ 文件夹中查看变化
[root@localhost wwwroot]# la

总用量 0
drwxr-xr-x. 2 root root 97 711 11:14 ./
-rw-r--r--. 1 root root 0 711 10:57 9
-rw-r--r--. 1 root root 0 711 10:57 10
-rw-r--r--. 1 root root 0 711 10:55 8
-rw-r--r--. 1 root root 0 711 10:55 7
-rw-r--r--. 1 root root 0 711 10:55 6
-rw-r--r--. 1 root root 0 711 10:55 5
-rw-r--r--. 1 root root 0 711 10:54 4
-rw-r--r--. 1 root root 0 711 10:53 3
-rw-r--r--. 1 root root 0 711 10:52 2
-rw-r--r--. 1 root root 0 711 10:45 1
drwxr-xr-x. 3 root root 21 711 10:10 ../


作者:我来自塘湖
链接:https://www.jianshu.com/p/fa7d1bf28ef0
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

服务器文件主从实时同步 的相关文章

  • Inotify linux 监视子目录

    是否可以以这种模式监视目录 storage data usernames Download gt storage data Download 我需要监视每个用户的下载文件夹中是否进行了更改 也许我需要创建所有路径的列表 将其放入数组中 并在
  • 在 Ubuntu 16.04 上找不到 printf.c

    我最近切换到Ubuntu 16 04 我在用vscode作为 Ubuntu 上的 IDE 我配置了其他语言 但我无法做到这一点C C 我创建c cpp properties json launch json tasks json 当我开始编
  • 从 TypeScript 运行任何 Linux 终端命令?

    有没有办法直接从 TypeScript 类中执行 Linux 终端命令 这个想法是做类似的事情 let myTerminal new LinuxTerminal let terminalResult myTerminal run sudo
  • 无需 cron 在后台发送邮件

    我想知道是否有一种方法可以运行 PHP 循环 以便在后台向订阅者发送几百封电子邮件 我的目标是格式化新闻通讯 单击发送 然后关闭浏览器或更改页面 当然 发送电子邮件的实际过程将在后台运行 不会因浏览器关闭而中断 我知道这可以通过 cron
  • 如何在特定 systemd 服务重新启动时触发自定义脚本运行

    我想知道如何安排自定义脚本在重新启动服务时运行 我的用例是 每当重新启动 Tomcat 服务时 我都必须运行多个命令 我想知道是否有一种方法可以编写脚本并安排它在重新启动 Tomcat 服务时运行 我已将 tomcat 脚本设置为 syst
  • Composer 安装要求

    我正在尝试将 Composer 安装到 Laravel 项目中 当我做的时候sudo composer install在项目目录中它显示了两个错误 Problem 1 Installation request for simplesoftw
  • Linux 桌面快捷方式和安装图标

    我需要添加什么到我的 spec文件来创建桌面快捷方式并在安装过程中为快捷方式分配一个图标 rpm 如果需要脚本 一个示例将非常有帮助 您在 Linux 下使用 desktop 文件作为图标 图标放置的位置取决于您使用的发行版和桌面环境 由于
  • 设置 Apache POI 的路径

    我想创建 Excel 文件并使用 java 程序在该文件中写入数据 That is here http www techbrainwave com p 554我在 java 文件所在的位置提取了 Apache POI 并将该路径包含在路径变
  • 信号处理程序有单独的堆栈吗?

    信号处理程序是否有单独的堆栈 就像每个线程都有单独的堆栈一样 这是在 Linux C 环境中 来自 Linux 手册页signal 7 http kernel org doc man pages online pages man7 sign
  • .NET Core 中的跨平台文件名处理

    如何处理文件名System IO以跨平台方式运行类以使其在 Windows 和 Linux 上运行 例如 我编写的代码在 Windows 上完美运行 但它不会在 Ubuntu Linux 上创建文件 var tempFilename Dat
  • 如何更改 Ubuntu 14.04 上的 php-cli 版本?

    我是 Linux 新手 在篡改时破坏了一些 php 设置 如果我执行一个包含以下内容的 php 脚本 phpinfo 它显示 php 版本为 5 6 但通过命令行 如果我运行php v它返回 7 0 版本 我想让两个版本匹配 我怎样才能修复
  • 并行运行 make 时出错

    考虑以下制作 all a b a echo a exit 1 b echo b start sleep 1 echo b end 当运行它时make j2我收到以下输出 echo a echo b start a exit 1 b star
  • 修改linux下的路径

    虽然我认为我已经接近 Linux 专业人士 但显然我仍然是一个初学者 当我登录服务器时 我需要使用最新版本的R 统计软件 R 安装在 2 个地方 当我运行以下命令时 which R I get usr bin R 进而 R version
  • 在 Linux 上更快地分叉大型进程?

    在现代 Linux 上达到与 Linux 相同效果的最快 最好的方法是什么 fork execve combo 从一个大的过程 我的问题是进程分叉大约 500MByte 大 并且一个简单的基准测试只能从进程中实现约 50 个分叉 秒 比较最
  • awk 子串单个字符

    这是columns txt aaa bbb 3 ccc ddd 2 eee fff 1 3 3 g 3 hhh i jjj 3 kkk ll 3 mm nn oo 3 我可以找到第二列以 b 开头的行 awk if substr 2 1 1
  • 如何通过替换为空页映射来取消映射 mmap 文件

    Linux 用户空间有没有办法用空页面 映射自 dev null 或者可能是一个空页面 重复映射到从文件映射的页面的顶部 对于上下文 我想找到这个 JDK bug 的修复 https bugs openjdk java net browse
  • 如何检测并找出程序是否陷入死锁?

    这是一道面试题 如何检测并确定程序是否陷入死锁 是否有一些工具可用于在 Linux Unix 系统上执行此操作 我的想法 如果程序没有任何进展并且其状态为运行 则为死锁 但是 其他原因也可能导致此问题 开源工具有valgrind halgr
  • 如何使用 bash 锁定文件

    我有一个任务从远程服务器同步目录 rsync av email protected cdn cgi l email protection srv data srv data 为了使其定期运行并避免脚本 reEnter 问题 我使用 rsyn
  • 如何禁用 GNOME 桌面屏幕锁定? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何阻止 GNOME 桌面在几分钟空闲时间后锁定屏幕 我已经尝试过官方手册了在红帽 https access redhat com doc
  • Jenkins中找不到环境变量

    我想在詹金斯中设置很多变量 我试过把它们放进去 bashrc bash profile and profile of the jenkins用户 但 Jenkins 在构建发生时找不到它们 唯一有效的方法是将所有环境变量放入Jenkinsf

随机推荐

  • 用Matlab作函数的图像

    函数简介 1 作图函数是plot 其调用格式如下 plot y plot x y plot x y LineSpec plot x1 y1 s1 x2 y2 s2 x3 y3 s3 说明 1 plot y 绘出以向量y为纵坐标 y的个元素的
  • IPV6基本报头

    version 版本号 值为6 与ipv4作用相同 4bit Traffic class 流分类 相当于ipv4的TOS字段 用于qos 表示报文的类或者优先级 8bit Flow label 流标签 用于区分实时流量 标签 源地址可以确定
  • 使用vue-amap实现地图经纬度显示、具体地址显示、卫星图、路网路况、在鼠标按下的地方添加标注点和添加多个标注点

    文章目录 写在开头 一 本文目的 二 版本信息 三 在App vue中调用其他 vue文件 四 点击地图显示经纬度和具体地址 五 添加卫星图和路网路况 六 在鼠标按下的地方添加标注点 七 在地图上显示多个标注点 写在最后 写在开头 我的上篇
  • LeetCode每日一题之209长度最小的子数组

    文章目录 问题描述 方法一 暴力求解 方法二 滑动窗口 问题描述 方法一 暴力求解 暴力求解法 时间复杂度O n 2 空间复杂度O 1 暴力求解法的思想 每一次遍历数组 然后更新result的值 一个for循环作为起始位置 一个for循环作
  • 使用JavaScript实现MQTT客户端的创建

    随着物联网的快速发展 实现设备之间的可靠和高效通信变得至关重要 MQTT作为一种轻量级的 开放的消息传输协议 被广泛应用于物联网领域 本文将为您介绍如何使用MQTT实现物联网设备之间的通信 MQTT基本概念 MQTT是一种基于发布 订阅模型
  • Qt modbus slave 从站 封装好的类直接使用

    实现基本的功能 QT serialport serialbus modbusSlove h ifndef MODBUSSLOVE H define MODBUSSLOVE H include
  • 【UE4源代码观察】观察DDC(DerivedDataCache)

    UE4源代码观察 观察DDC DerivedDataCache YakSue的博客 CSDN博客 概念 DDC 全名DerivedDataCache 派生数据缓存 很早就知道UE4里存在DDC这个概念 也发现了DDC占用了很多磁盘空间 也遇
  • WebSocket -- 扫盲篇

    一 WebSocket是HTML5出的东西 协议 也就是说HTTP协议没有变化 或者说没关系 但HTTP是不支持持久连接的 长连接 循环连接的不算 首先HTTP有1 1和1 0之说 也就是所谓的keep alive 把多个HTTP请求合并为
  • 剑指 Offer 31. 栈的压入、弹出序列—思路和心得

    思路来自于 LeetCode力扣刷题 剑指Offer 31 栈的压入 弹出序列 哔哩哔哩 https b23 tv mvsIvAi import java util Stack class Solution 思路 模拟一个栈进行相应的弹出操
  • java实现冒泡排序

    冒泡排序 算法重复走访要排序的数列 一次比较两个元素 如果它们顺序错误就交换它们的位置 这样最大的数就到了最后 重复操作即可得到有序数列 冒泡排序算法运行 1 比较相邻的元素 如果第一个比第二个大 就交换他们两个 2 对每一对相邻元素作同样
  • STM32之flash的读写

    文章目录 一 创建STM32CUBEMX工程 二 KEIL下的配置 三 参考 一 创建STM32CUBEMX工程 芯片选择F103C8 配置定时器 打开外部时钟 配置时钟 配置PC13为output对应板子上的LED 设置堆栈大小为4K 导
  • Css Pc端默认样式(适用于大部分项目开发)

    5b8b 4f53 yh Microsoft Yahei body textarea input select option font size 14px color 333 font family Hiragino Sans GB Mic
  • C++期末作业翻牌消消乐小游

    C 期末作业翻牌消消乐小游戏 适合初学者学习使用 附答辩PPT和项目报告 详细情况请看下图 点我下载资源 点我下载资源
  • 前端追梦人CSS教程

    一 基础概念 1 1 什么是CSS 层叠样式表 英文全称 Cascading Style Sheets 是一种用来表现HTML 标准通用标记语言的一个应用 或XML 标准通用标记语言的一个子集 等文件样式的计算机语言 1 2 语法 选择器
  • 腾讯T3亲自教你,338页网易面经

    前言 19年6月份从网易云音乐离开 放弃了留学机会 开始了人生的第一次创业 前后尝试了两个项目 因为个人能力与时机因素都失败了 虽然没能享受到创业所能够带来高杠杆物质上的回报 但是对个人软技能和自我边界认知上都有了很大的提升 投递公司与拿到
  • ROS环境下大疆tello无人机源码安装&驱动代码解读

    大疆tello无人机是一款微小型无人机 可以支持多种开发模式 这里用的是ROS1的kinetic版本进行开发 参考文档来自http wiki ros org tello driver 1 kinetic下tello源码安装 打开终端 键入以
  • 开发 web 服务程序

    github 任务目标 熟悉 go 服务器工作原理 基于现有 web 库 编写一个简单 web 应用类似 cloudgo 使用 curl 工具访问 web 程序 对 web 执行压力测试 根据代码提示 按照cloud go应用 编写相应的W
  • 把WPS/Excel里的单元格为图片url链接转换为图片显示

    原始数据 步骤 可以创建新的一列作为显示图片用 修改下表格的单元格行高和行宽 这里有个技巧 我们点击下表格的左上角的三角符 再拉动行高 这样会自动修改每一个行高 我们准备给图片设置成50x50像素 大概也就是2cmx2cm 下面我们给B2里
  • 矩阵求导、几种重要的矩阵及常用的矩阵求导公式

    矩阵求导 几种重要的矩阵及常用的矩阵求导公式 Norstc的博客 CSDN博客
  • 服务器文件主从实时同步

    服务器列表 1 主 192 168 199 230 2 从 192 168 199 183 192 168 199 105 第一步 分别配置好SSH免登陆 参考 点这里 第二步 分别装好 rsync yum y install rsync