码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 企业实战项目rsync+inotify实现实时同步


    目录

    一、inotify安装和介绍

    1. 安装inotify

    2. inotify-tools常用命令

    3. rsync + inotify 实践

    3.1 服务端配置

    3.2 客户端配置


    一、inotify安装和介绍

    1. 安装inotify

    yum install epel-release -y

    yum install inotify-tools -y

    2. inotify-tools常用命令

     inotify-tools 包含了两个命令:inotifywait 与 inotifywatch。

    (1)inotifywait:在被监控的文件或目录上等待特定文件系统事件发生,执行后处 于阻塞状态,适合在shell脚本中使用。

    (2)inotifywatch:用于收集文件系统的统计数据,例如发生了多少次 inotify 事 件,某文件被访问了多少次等等。

    3. rsync + inotify 实践

    部署sync+inotify同步客户端/slave目录至目标服务器的/slave/下:

    3.1 服务端配置

    目标服务器rsync配置,也可以使用之前的

    创建rsync用户 

    useradd -s /sbin/nologin -M rsync 

    创建数据备份储存目录,目录修改属主

    mkdir /slave/

    chown -R rsync:rsync /slave/

    创建认证用户密码文件

    echo "rsync_slave:nebula123" >>/etc/rsync.passwo rd

    chmod 600 /etc/rsync.password

    3.2 客户端配置

    客户端的认证文件只需要有密码即可

    echo "nebula123" >>/etc/rsync.password

    chmod 600 /etc/rsync.password

    vim inotify.sh

    1. #!/bin/bash
    2. host=192.168.150.15
    3. src=/slave
    4. des=slave
    5. password=/etc/rsync.password
    6. user=rsync_slave
    7. inotifywait=/usr/bin/inotifywait
    8. $inotifywait -mrq --timefmt '%Y%m%d %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $src \
    9. | while read files;do
    10. rsync -avzP --delete --timeout=100 --password-file=${password} $src $user@$host::$des
    11. echo "${files} was rsynced" >>/tmp/rsync.log 2>&1
    12. done

    sh inotify.sh

    开另一个终端随便创建一个文件

    touch awm

     

  • 相关阅读:
    [附源码]Python计算机毕业设计Django葡萄酒销售管理系统论文
    【字节码⻆度看synchronize】三种应用方式、Monitor类、monitorenter、monitorexit_JUC15
    Vim简介
    SpringBoot连接MySQL密码错误,报错:Access denied for user
    C#的Array 类使用说明
    Vue项目实战之人力资源平台系统(十)图片上传和打印员工信息
    国外无人机蜂群作战样式进展及反蜂群策略研究
    已解决org.springframework.web.client.HttpServerErrorException: 500服务器端HTTP调用错误的正确解决方法,亲测有效!!!
    window上Clion配置C++版本的opencv
    44LVS负载均衡群集-NAT
  • 原文地址:https://blog.csdn.net/zcffight/article/details/127879978
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号