美文网首页
Linux rsync2019-01-22

Linux rsync2019-01-22

作者: 蓝山_d851 | 来源:发表于2019-01-28 10:28 被阅读0次

    一.  rsync只传输变化的数据

    完全复制

    只传输变化的数据

    rsync    -a   归档模式保证权限归属关系等同步不变

    rsync    -v  显示详细操作信息

    rsync    -z    传输过程中启用压缩/解压

    rsync    -n  测试同步过程,同步后会有什么变化,并不会发生修改

    rsync   【avz..】 /本地目录1     本地目录2         同步本地目录整个文件夹到本地目录二

    rsync   【选项 ..】 /本地目录1/     本地目录2         同步本地目录文件夹下的数据到本地目录二

    touch /dir/{1..10}.txt   创建文件

    rsync    -avz    --delete     /nsd/      /dir/  源目录可以变化 并且同步,被共享目录修改创建文件不同步      

    二.远程同步

    虚拟机A:

    rm -rf   /op /*

    cp   /etc/resolv.conf   /etc/hosts  /opt

    ls /opt/

    rsync  -avz  --delete /opt /   root@192.168.4.207:/opt/

    虚拟机B:

    ls /opt   查看



    三.实时同步

    1.前提ssh实现免密码操作验证

    * 生成公钥和私钥

    #ssh-keygen #一路敲回车

    #ls  /root/.ssh

    *.传递公钥到对方的服务器

    # ssh-copy-id  root@192.168.4.207

    root@192.168.4.207‘s password:

    *.验证同步无需密码

    rsync  -avz  --delete /opt /   root@192.168.4.207:/opt/



    四 安装inotify-tools实现监控目录内容变化

    步骤一:安装开发工具gcc  make

    步骤二:tar解包

    ]# tar -xf  /tools/inotify-tools-3.13.tar.gz -C /test

    ]# ls  /test/inotify-tools-3.13/

    步骤三: ./configure 配置,指定安装目录/功能模块等选项,还可以检测系统是否安装gcc

    ]# cd  /test/inotify-tools-3.13/

    ]# ./configure 

    步骤四:make 编译,生成可执行的二进制程序文件

    ]# cd  /test/inotify-tools-3.13/

    ]# make

    步骤五:make install 安装,将编译好的文件复制到安装目录

    ]# cd  /test/inotify-tools-3.13/

    ]# make  install

    ]# ls /usr/local/bin/inotifywait

    /usr/local/bin/inotifywait

    • 基本用法

    – inotifywait [选项] 目标文件夹

    • 常用命令选项

    – -m,持续监控(捕获一个事件后不退出)

    – -r,递归监控、包括子目录及文件

    – -q,减少屏幕输出信息

    – -e,指定监视的 modify、move、create、delete、

    attrib 等事件类别

    书写Shell脚本,实时同步

      for比较适合有次数的循环     

      while比较适合死循环 

      while  [ 条件 ]

      do

            重复执行的代码

      done

    [root@svr7 /]# cat /root/rsync.sh

    #!/bin/bash

    while  inotifywait  -rq  /opt/

    do

      rsync -az --delete /opt/  root@192.168.4.207:/opt/

    done &

    [root@svr7 /]# chmod +x /root/rsync.sh

    [root@svr7 /]# /root/rsync.sh

    [root@svr7 /]# pgrep -l rsync   查看这个进程

    [root@svr7 /]# killall  rsync.sh    杀死这个进程

    相关文章

      网友评论

          本文标题:Linux rsync2019-01-22

          本文链接:https://www.haomeiwen.com/subject/vbwkjqtx.html