zoukankan      html  css  js  c++  java
  • 架构师的成长之路初片~rsync+inotify实时监控及同步

    Rsync同步(数据同步)

    同步操作

    命令用法

    --rsync  [选项]     源目录     目标目录

    同步与复制的差异

    --复制:完全拷贝源到目标

    --同步:增量拷贝,只传输变化过的数据

    rsync操作选项  
    -n 测试同步过程,不做实际修改
    -delete 删除目标文件夹内多余的文档
    -a
    归档模式,相当于-rlptgoD(D:保留设备文件及其他特殊文件    -o  -g     :保留文件的属主、数组标记         -p  -t  :保留文件的权限、时间标记       -l: 保留符号链接文件          -r  : 递归,包括目录、子目录及所有文件)
    -v 显示详细操作信息
    -z 传输过程中启用压缩、解压

    rsync+ssh同步

    与远程的ssh目录保持同步

    rsync   [...]  user@host:远程目录      本地目录

    rsync   [...]   本地目录       user@host:远程目录

    服务端要求

    开启ssh(22端口)服务,并提供授权的用户、密码

    例子:

    rsync -av /mydir   /todir        //同步目录本身
    
    rsync -av /mydir/    /todir    //同步目录内容

    例子:

    同步a目录到b目录,且从b删除a目录没有的文件

    用rsync命令报错集

    原因:目标主机没有rsync命令

    解决方案:在目标主机下载rsync命令即可

    inotify-tools工具

    下载地址:http://download.sf.net/inotify-tools/

    标准的源码、编译安装即可

    tar -xf inotify-...gz

    cd inno..

    ./config --prefix=/opt

    make && make install

    inotifywait监控:

    用循环解决实时监控

    while  条件

    do

      重复执行的事情

    done

    例子:

    实时监控,且同步目录

    前提:要做秘钥

    vim /etc/rsync.sh

    while /opt/myrpm/bin/inotifywait -rqq /mydir do   rsync -a --delete /mydir/ root@192.168.2.22:/opt/     done

    chmod +x /etc/rsync.sh    //给一个执行权限
    /etc/rsync.sh &    //把此脚本放入后台执行

    如果在执行 成功,检测的时候失败。(解决方案)

    把上面的每条命令在终端输入一次,如若成功。则复制粘贴此命令到脚本内

    (有些时候,手写脚本在没有进行测试的时候。会有空格或者路径上的一些错误。导致脚本执行失败或者传输文件失败)

  • 相关阅读:
    fill 全解(转)
    解题报告 疯狂的馒头
    解题报告 报数
    解题报告 noi 2005 智慧珠游戏(BT 搜索)
    解题报告 跑步
    解题报告 Punch
    解题报告 纪念日
    解题报告 新兵站队
    转载:让理科生沉默,让文科生流泪的综合题
    解题报告 信号放大器
  • 原文地址:https://www.cnblogs.com/ahaocloud/p/14349059.html
Copyright © 2011-2022 走看看