Linux下rsync 安裝與配置


1、什么是rsync

    Rsync(remote synchronize)是一個遠程數據同步工具,可通過LAN/WAN快速同步多台主機間的文件。Rsync使用所謂的“Rsync算法”來使本地和遠 程兩個主機之間的文件達到同步,這個算法只傳送兩個文件的不同部分,而不是每次都整份傳送,因此速度相當快。

2、rsync服務器端架設

     2.1:rsync下載  https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz

    cd /home/software
    wget https://download.samba.org/pub/rsync/src/rsync-3.1.2.tar.gz
    tar -zxvf rsync-3.1.2.tar.gz

    2.2:安裝rsync

  cd rsync-3.1.2
  ./configure --prefix=/usr/local/rsync
  make
  make install

    2.3:配置rsync-server

  2.3.1:配置rsyncd.conf    (手動創建    touch /usr/local/rsync/rsyncd.conf )

  vim /usr/local/rsyncd.conf

  ### 全局參數 ###

  port=873
  motd file=/usr/local/rsync/rsyncd.motd
  log file=/usr/log/rsyncd.log
  pid file=/var/run/rsyncd.pid

  ### 模塊參數 ###

  [hometest]
  path=/home/test
  use chroot=true
  uid=0
  gid=0
  read only=false
  exclude=/readme.txt /runtime
  auth users=markdeng
  secrets file = /usr/local/rsync/rsyncd.secrets

  2.3.2:配置rsyncd.secrets(手動創建    touch /usr/local/rsync/rsyncd.secrets ) //此文件權限必須設置:600

  vim /usr/local/rsync/rsyncd.secrets

  markdeng:123
  dxh:321

       chmod 600 /usr/local/rsync/rsyncd.secrets

  2.3.3:配置rsyncd.motd  (手動創建  touch /usr/local/rsync/rsyncd.motd )

  vim /usr/local/rsync/rsyncd.motd

  welcome use rsync service

     2.3.4:啟動rsyncd

       /usr/bin/rsyncd --daemon --config=/usr/local/rsync/rsyncd.conf

       2.3.5:查看rsyncd進程

    ps aux | grep rsyncd

3、rsync客戶端同步數據(通過rsync命令)

      3.1:命令語法

      1. rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST 
   2. rsync [OPTION]... [USER@]HOST:SRC DEST 
   3. rsync [OPTION]... SRC [SRC]... DEST 
   4. rsync [OPTION]... [USER@]HOST::SRC [DEST] 
   5. rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST 
   6. rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]
  rsync有六種不同的工作模式:
   1. 拷貝本地文件;當SRC和DES路徑信息都不包含有單個冒號":"分隔符時就啟動這種工作模式。
   2.使用一個遠程shell程序(如rsh、ssh)來實現將本地機器的內容拷貝到遠程機器。當DST路徑地址包含單個冒號":"分隔符時啟動該模式。
   3.使用一個遠程shell程序(如rsh、ssh)來實現將遠程機器的內容拷貝到本地機器。當SRC地址路徑包含單個冒號":"分隔符時啟動該模式。
   4. 從遠程rsync服務器中拷貝文件到本地機。當SRC路徑信息包含"::"分隔符時啟動該模式。
   5. 從本地機器拷貝文件到遠程rsync服務器中。當DST路徑信息包含"::"分隔符時啟動該模式。
   6. 列遠程機的文件列表。這類似於rsync傳輸,不過只要在命令中省略掉本地機信息即可

    3.2:rsync中的參數

  -r 是遞歸 
  -l 是鏈接文件,意思是拷貝鏈接文件;-p 表示保持文件原有權限;-t 保持文件原有時間;-g 保持文件原有用戶組;-o 保持文件原有屬主;-D 相當於塊設備文件;
  -z 傳輸時壓縮;
  -P 傳輸進度;
  -v 傳輸時的進度等信息,和-P有點關系,自己試試。可以看文檔;
  -e ssh的參數建立起加密的連接。
  -u只進行更新,防止本地新文件被重寫,注意兩者機器的時鍾的同時
  --progress是指顯示出詳細的進度情況
  --delete是指如果服務器端刪除了這一文件,那么客戶端也相應把文件刪除,保持真正的一致
  --password-file=/password/path/file來指定密碼文件,這樣就可以在腳本中使用而無需交互式地輸入驗證密碼了,這里需要注意的是這份密碼文件權限屬性要設得只有屬主可讀。

  3.3:實例操作如下

方法一(手動輸入密碼):rsync -avtop markdeng@127.0.0.1::hometest /home/test2
方法二(自動輸入密碼):rsync -avtop markdeng@127.0.0.1::hometest /home/test2 --password-file=/home/pwd.secrets      /home/pwd.secrets 這里是客戶端存於markdeng的密碼  權限同樣是:600

 

參考:

RSync實現文件備份同步詳解   http://www.linuxidc.com/Linux/2014-09/106967.htm

利用inotifywait監控主機文件和目錄 http://www.linuxidc.com/Linux/2013-03/81075.htm

利用inotify+rsync實現Linux文件批量更新 http://www.linuxidc.com/Linux/2012-01/52132.htm

inotify-tools+rsync實時同步文件安裝和配置 http://www.linuxidc.com/Linux/2012-06/63624.htm

rsync同步完整配置 http://www.linuxidc.com/Linux/2013-06/85781.htm

CentOS 6.5下Rsync遠程同步 http://www.linuxidc.com/Linux/2014-05/101084.htm

Linux文件夾對比並提取的差分文件技巧-rsync的妙用 http://www.linuxidc.com/Linux/2016-02/128307.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM