天天看點

rsync服務

rsync 工具

    說明:rsync 和scp 支援遠端備份,rsync 支援增量拷貝

    類似工具scp

    說明:A和B主機需安裝openssh-clients

    指令 scp ./ilanni.tar.gz    [email protected]:/ks

一、 安裝工具

     yum install -y rsync 

二、ssh連接配接方式

     說明:源主機和目标主機需安裝:openssh-clients

     1)拷貝到遠端

     說明:指定端口;不寫使用者名則自動檢測遠端主機目前的使用者

     rsync -e "ssh -p 22" -zvPz  111/  [email protected]:/tmp/111/

     2)遠端拷貝回來

     rsync -e "ssh -p 22" -zvPz [email protected]:/tmp/111/ ./111/

     注:拷貝整個目錄以及其下的檔案時,需加/,否則隻是拷貝了目錄而沒有檔案

    用法說明:

    -a  等同于  -rlptgoD

    -D 裝置檔案相關,很少接觸

    -o owner,即屬主

    -g group,即屬組

    -t 時間,即3個time

    -p 讀寫權限,同步前後不會變化

    -r 歸檔,針對同步目錄作用

    -l 同步軟連結檔案,如果沒有源檔案,則為廢檔案

    -L 同步軟連結的源檔案

    -v 可視化

    --delete 删除A機上的老檔案,則B的老檔案也會删除

    --exclude=PATTERN ,等号後面跟檔案名 同步時,排除某些檔案和目錄,過濾掉

    -P 大P顯示同步進度,比v顯示的東西多,和--process一樣

    -u 等同于--update 避免把目标B檔案上的新資料(可能修改之後和A不同了)覆寫掉

    -z 壓縮同步,減少帶寬

   --no-OPTION 這個表示關閉-rlptgoD中的某一個例如 -a--no-l 等同于-rptgoD

    --progress 在同步的過程中可以看到同步的過程狀态,比如統計要同步的檔案數量、同步的檔案傳輸速度等等

三、背景服務方式

  說明:daemon背景服務的方式,需寫一個配置檔案,放在etc下,通過指令啟動,監聽一個端口,然後用戶端和服務端通信

【服務端配置】(172.16.115.202)

1. 編輯配置檔案vim /etc/rsyncd.conf

    說明:huangzhenping1子產品不需要認證;配置檔案修改之後不需要重新開機,及時生效

    添加内容:

    port=8730  # 端口

    log file=/var/log/rsync.log # log日志檔案

    pid file=/var/run/rsync.pid # 每個程序都有個pid檔案

   [huangzhenping] # 子產品名

   path=/tmp/rsync # 子產品對應的目錄,用于存取檔案,需要建立

   use chroot=yes # 限定子產品目錄下軟連結時不能同步其他目錄的檔案,yes或ture為真

   max connections=4 # 最大連接配接數

   read only=no # 登入之後是否隻讀(如果推送,則需要寫權限)

   list=yes # 是否允許list子產品名

   uid=root # 檔案屬主屬組

   gid=root

   auth users=huangzhenping # 使用者認證

   secrets file=/etc/rs.passwd # 認證密碼檔案

   hosts allow=172.16.115.202  172.16.115.162 # 允許主機

  [huangzhenping1]

  path=/tmp/rsync123

  use chroot=yes

  max connections=4

  read only=no

  list=yes

  uid=root

  gid=root

  hosts allow=172.16.115.202

2. 啟動,檢視端口,檢視日志

   rsync --daemon

   netstat -lnp|grep rsync

   cat /var/log/rsync.log

3. 建立目錄和檔案

   mkdir /tmp/rsync

   mkdir /tmp/rsync123

4. 建立密碼檔案vim /etc/rs.passwd,修改權限為600,隻允許root讀寫

    内容:

    huangzhenping:123456   #左邊為使用者名,右邊為對應密碼

    授權:

    chmod 600 /etc/rs.passwd

【用戶端同步測試】(172.16.115.157)

  說明:雙冒号預設以873端口去通路連接配接

1. 在用戶端檢視服務端子產品名,同步測試

    說明:由list=yes|no決定

    rsync --port 8730 172.16.115.202::

    文法:

    rsync -avPz --port 8730 /tmp [email protected]::huangzhenping/

    說明:需要服務端設定的使用者名和密碼,以及子產品名

2. 用戶端指定密碼檔案,免密碼同步

    1)先查詢指定格式

      rsync --help|grep passw

    2)建立密碼檔案

     說明:一個檔案一個密碼,隻需寫密碼,授權400

     vim /etc/rsync_pass.txt

     chmod 400  /etc/rsync_pass.txt

    3)同步時,指定密碼檔案即可

     rsync -avPz --port 8730 --password-file=/etc/rsync_pass.txt [email protected]::huangzhenping/ /tmp/

本文轉自 huangzp168 51CTO部落格,原文連結:http://blog.51cto.com/huangzp/1906257,如需轉載請自行聯系原作者