zoukankan      html  css  js  c++  java
  • 十七.rsync+SSH同步

    1. rsync同步操作

    • 命令用法
    – rsync [选项...] 源目录 目标目录
     
    • 同步与复制的差异
    – 复制:完全拷贝源到目标
    – 同步:增量拷贝,只传输变化过的数据
     
    • rsync操作选项
      – -n:测试同步过程,不做实际修改
      – --delete:删除目标文件夹内多余的文档
      – -a:归档模式,相当于-rlptgoD
      – -v:显示详细操作信息
      – -z:传输过程中启用压缩/解压
     
    • 本地同步
    – rsync [选项...] 本地目录1    本地目录2
    – rsync [选项...] 本地目录1/   本地目录2
     
    ]# rsync -avz /boot  /todir/ #同步整个文件夹
    ]# rsync -avz test1/ test2/ #只同步目录下的数据
    ]# rsync -avz --delete test1/ test2/ (同步1 --> 2 多退少补)
     
    2. rsync+SSH同步
    2.1 与远程的 SSH目录保持同步
    – 下行:rsync [...]  user@host:远程目录   本地目录
    – 上行:rsync [...]  本地目录   user@host:远程目录
    ]# rsync -avz --delete /temp/test1/ root@192.168.4.8:/temp/
    ]# rsync -avz --delete root@192.168.4.8:/temp/ test1/
    2.2 实时同步(配置无密码)
    ]# ssh-keygen  #一路回车
    ]# ls /root/.ssh/
    authorized_keys id_rsa id_rsa.pub known_hosts
    复制公钥到对方
    ]# ssh-copy-id root@192.168.4.8
    pc8:
    ]# ls /root/.ssh/
    authorized_keys
    pc7检测:
    ]# rsync -avz --delete /temp/test1/ root@192.168.4.8:/temp/
    2.3 安装inotify-tools实现监控目录内容变化
    源码安装后,查看生成的文件:
    ]# ls /usr/local/bin/
    inotifywait inotifywatch
     
    • 基本用法
    – inotifywait [选项] 目标文件夹
     
    • 常用命令选项
    – -m,持续监控(捕获一个事件后不退出)
    – -r,递归监控、包括子目录及文件
    – -q,减少屏幕输出信息
    – -e,指定监视的 modify、move、create、delete、attrib 等事件类别
    2.3.1 开始持续递归监控:
    ]# inotifywait -rmq /temp
    新开一个窗口指定增删改查操作,查看实时监控状态
    2.3.2 书写Shell脚本,实时同步
    #!/bin/bash
    while  inotifywait -rqq  /temp 
    do
      rsync -az --delete /temp/ root@192.168.4.8:/temp/
    done &
    2.3.3 终止脚本
    ]# pgrep -l rsync
    ]# killall rsync.sh
    ]# ps aux | grep inotifywait
    ]# kill -9 pid号
  • 相关阅读:
    swing加载图片
    能有效解决问题的提问方法
    资源在线汇总
    如何赢得别人的尊重
    算法总结
    软件工程概述
    java语言基础汇总
    DEBUG技巧汇总
    web技术发展历程
    java中BufferedImage类的用法
  • 原文地址:https://www.cnblogs.com/luwei0915/p/10482316.html
Copyright © 2011-2022 走看看