欧美亚洲中文,在线国自产视频,欧洲一区在线观看视频,亚洲综合中文字幕在线观看

      1. <dfn id="rfwes"></dfn>
          <object id="rfwes"></object>
        1. 站長(zhǎng)資訊網(wǎng)
          最全最豐富的資訊網(wǎng)站

          Rsync 服務(wù)部署與參數(shù)詳解

          Rsync 簡(jiǎn)介

          rsync 是一款開(kāi)源的、快速的、多功能的、可實(shí)現(xiàn)全量及增量的本地或遠(yuǎn)程數(shù)據(jù)同步備份的優(yōu)秀工具。Rsync軟件適用于unix/linux/windows等多種操作系統(tǒng)平臺(tái)。

          傳統(tǒng)的 scp 和 cp 工具拷貝每次均為完整拷貝,而rsync除了可以完整拷貝外,還具備增量拷貝功能。因此,從同步數(shù)據(jù)的性能及效率上,Rsync工具更勝一籌。

          官網(wǎng)地址:

          https://download.samba.org/pub/rsync/rsync.html
          # 或者
          https://www.samba.org/ftp/rsync/rsync.html

          版本查看

          [yun@backup ~]$ rsync –version
          rsync  version 3.1.2  protocol version 31
          Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others.
          Web site: http://rsync.samba.org/
          Capabilities:
              64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
              socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
              append, ACLs, xattrs, iconv, symtimes, prealloc

          rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
          are welcome to redistribute it under certain conditions.  See the GNU
          General Public Licence for details.

          Rsync 增量復(fù)制的原理

          Rsync 通過(guò) “quick check” 算法 (默認(rèn)情況) 找到要傳輸?shù)奈募?,該算法?huì)查找大小已改變或最后修改時(shí)間已改變的文件。

          當(dāng) “quick check” 指示不需要更新文件的數(shù)據(jù) (即:文件的內(nèi)容) 時(shí),會(huì)直接在目標(biāo)文件上更改其他屬性(如權(quán)限信息、屬主屬組信息、時(shí)間戳信息)「根據(jù)相應(yīng)的選項(xiàng)參數(shù)」。

          rsync2.x對(duì)比方法,把所有文件比對(duì)一遍,然后進(jìn)行同步。

          rsync3.x對(duì)比方法,一邊比對(duì)差異,一邊對(duì)差異的部分進(jìn)行同步。

          Rsync 軟件功能介紹

          rsync == cp

          1 # 拷貝 /etc/rpm 目錄
          2 [root@back ~]# cp -a /etc/rpm /tmp/
          3 # 等價(jià)于
          4 [root@back ~]# rsync -a /etc/rpm /tmp/

          注意:cp -a 的參數(shù)意義和 rsync -a 的參數(shù)意義不一樣。

          rsync == scp

          1 [yun@back tmp]$ scp -pr yun@172.16.1.182:/etc/xml /tmp/
          2 # 等價(jià)于
          3 [yun@back tmp]$ rsync -pr yun@172.16.1.182:/etc/xml /tmp/

          rsync == rm
          刪除 /tmp/yum/ 目錄下的所有文件和目錄?!厩f(wàn)不要搞錯(cuò)目錄】

          1 [yun@back tmp]$ rm -fr /tmp/yum/*
          2 # 等價(jià)于
          3 [yun@back tmp]$ rsync -r –delete /tmp/zhang/ /tmp/yum/

          其中 /tmp/zhang/ 目錄下無(wú)任何文件

          rsync == ls -l

          1 [yun@backup tmp]$ ls -l /tmp/xml/catalog
          2 -rw-r–r– 1 yun yun 1171 Sep 18 16:08 /tmp/xml/catalog
          3 # 類似于
          4 [yun@backup tmp]$ rsync /tmp/xml/catalog
          5 -rw-r–r–          1,171 2019/09/18 16:08:41 catalog

          Rsync 特性介紹

          1、支持拷貝特殊文件。如鏈接文件、設(shè)備等。
          2、可以排除指定文件或目錄的同步功能,相當(dāng)于打包tar的排除功能。
          3、可以做到保持源文件或目錄的權(quán)限、時(shí)間、軟鏈接、屬主、屬組等所有屬性均不改變。
          4、可實(shí)現(xiàn)增量同步。既只同步發(fā)生變化的數(shù)據(jù),因此傳輸效率很高,tar -N。
          5、可以使用 rcp、rsh、ssh 等方式來(lái)配合傳輸文件(rsync本身不對(duì)數(shù)據(jù)加密)。
          6、可以通過(guò)socket(進(jìn)程方式)傳輸文件和數(shù)據(jù)(服務(wù)端和客戶端)【重點(diǎn)掌握】。
          7、支持匿名或認(rèn)證(無(wú)需系統(tǒng)用戶)的進(jìn)程傳輸,可以實(shí)現(xiàn)方便安全的進(jìn)行數(shù)據(jù)備份及鏡像。

          Rsync 運(yùn)用場(chǎng)景

          數(shù)據(jù)備份

          使用方式:cron + rsync 比如數(shù)據(jù)庫(kù)備份,除了本地需要備份外,還需要通過(guò) rsync 在專門的備份服務(wù)器上備份一份。

          實(shí)時(shí)同步

          使用方式:rsync + inotify 或 sersync 比如為了緩解服務(wù)器壓力,我們需要將用戶上傳的圖片放在多臺(tái)服務(wù)器上【如果沒(méi)有上 CDN】,這樣高并發(fā)訪問(wèn)的時(shí)候可以分發(fā)到多臺(tái)機(jī)器,減輕服務(wù)器壓力。

          又比如敏感數(shù)據(jù)不能丟失,那必須做實(shí)時(shí)備份。

          Rsync 使用說(shuō)明

          Rsync 傳輸方式分三種

          1、單個(gè)主機(jī)本地內(nèi)部之間的數(shù)據(jù)傳輸(此時(shí)類似于 cp 的功能)

          2、借助rcp,ssh等通道來(lái)傳輸數(shù)據(jù)(此時(shí)類似于 scp 的功能)

          3、以守護(hù)進(jìn)程方式傳輸數(shù)據(jù)(rsync 自身的重要功能)

          # 本地?cái)?shù)據(jù)同步方式
          Local:  rsync [OPTION…] SRC… [DEST]

          # 遠(yuǎn)程數(shù)據(jù)同步方式
          Access via remote shell:
           Pull: rsync [OPTION…] [USER@]HOST:SRC… [DEST]
           Push: rsync [OPTION…] SRC… [USER@]HOST:DEST

          # 守護(hù)進(jìn)程方式同步數(shù)據(jù)
          Access via rsync daemon:
           Pull: rsync [OPTION…] [USER@]HOST::SRC… [DEST]
                rsync [OPTION…] rsync://[USER@]HOST[:PORT]/SRC… [DEST]
           Push: rsync [OPTION…] SRC… [USER@]HOST::DEST
                rsync [OPTION…] SRC… rsync://[USER@]HOST[:PORT]/DEST

          源目錄后面無(wú) “/“ 和有 “/“ 的區(qū)別

          將 /etc/yum 目錄復(fù)制到 /tmp/zhang/ 目錄下。

          1 # 源目錄后面無(wú) “/”
          2 [yun@backup ~]$ rsync -avz /etc/yum  /tmp/zhang/
          3 [yun@backup ~]$ ll /tmp/zhang/
          4 total 0
          5 drwxr-xr-x 6 yun yun 100 Nov 14  2018 yum

          將 /etc/yum/ 目錄下的所有文件和目錄,復(fù)制到 /tmp/zhang/ 目錄下。

          # 源目錄后面有 “/”
          [yun@backup ~]$ rsync -avz /etc/yum/  /tmp/zhang/
          [yun@backup ~]$ ll /tmp/zhang/
          total 4
          drwxr-xr-x 2 yun yun  6 Apr 13  2018 fssnap.d
          drwxr-xr-x 2 yun yun  54 Nov 14  2018 pluginconf.d
          drwxr-xr-x 2 yun yun  26 Nov 14  2018 protected.d
          drwxr-xr-x 2 yun yun  37 Apr 13  2018 vars
          -rw-r–r– 1 yun yun 444 Apr 13  2018 version-groups.conf

          常用參數(shù)說(shuō)明

          參數(shù) 參數(shù)說(shuō)明
          -v, –verbose 顯示傳輸了哪些文件 ★★★★★
          -z, –compress 傳輸時(shí)進(jìn)行壓縮以提高傳輸效率,–compress-level=NUM 指定加壓縮級(jí)別?!铩铩铩铩?/td>
          -P, –progress 顯示同步的過(guò)程及傳輸時(shí)進(jìn)度等信息 ★★★★★
          -a, –archive 歸檔模式,表示以遞歸方式傳輸文件,并保持文件屬性。等價(jià)于 -rlptgoD ★★★★★
          -r, –recursive 對(duì)子目錄以遞歸模式,即目錄下的所有目錄都同樣傳輸【歸檔于-a】
          -t, –times 保持文件時(shí)間信息【歸檔于-a】
          -o, –owner 保持文件屬主信息【歸檔于-a】
          -g, –group 保持文件屬組信息【歸檔于-a】
          -p, –perms 保持文件權(quán)限信息【歸檔于-a】
          -D, –devieves 保持設(shè)備文件信息【歸檔于-a】
          -l, –linkd 保持軟鏈接信息【歸檔于-a】
          -L, –copy-links 如果是鏈接文件那么轉(zhuǎn)為源文件復(fù)制【復(fù)制軟連接的源文件】
          -e, –rsh=COMMAND 使用信道協(xié)議,指定替代rsh的shell程序
          –exclude=PATTERN 指出哪些文件或目錄不需要傳輸,支持通配符
          –exclude-from=FILE 在 FILE 文件中指定哪些文件或目錄不需要傳輸
          –include=PATTERN 指出哪些文件或目錄不被排除要傳輸,支持通配符;通常配合 –exclude 或 –exclude-from 使用
          –include-from=FILE 在 FILE 文件中指定哪些文件或目錄不被排除需要傳輸;通常配合 –exclude 或 –exclude-from 使用
          –bwlimit=RATE 限速 限制I / O帶寬;K字節(jié)每秒
          –delete 讓目標(biāo)DEST目錄與SRC目錄數(shù)據(jù)一致 【慎用】

          部分參數(shù)示例說(shuō)明

          # –exclude=PATTERN 示例
          [yun@backup tmp]$ rsync -avz –exclude=systemd.conf /etc/yum  /tmp/zhang01
          # 或者
          [yun@backup tmp]$ rsync -avz –exclude=systemd.* /etc/yum  /tmp/zhang01
          # 或者  多個(gè)條件使用多個(gè) –exclude=PATTERN
          [yun@backup tmp]$ rsync -avz –exclude=systemd.conf –exclude=fastestmirror.conf /etc/yum  /tmp/zhang05

           

          # –exclude-from=FILE 示例
          [yun@backup tmp]$ cat exclude.info
          fastestmirror.conf
          systemd.conf
          vars

          # 那么此時(shí) fastestmirror.conf、systemd.conf 文件 和 vars 目錄不會(huì)被拷貝
          [yun@backup tmp]$ rsync -avz –exclude-from=exclude.info /etc/yum  /tmp/zhang01

          1 # –include=PATTERN 示例
          2 ## 注意參數(shù)順序:–include 或 –include-from 必須要在 –exclude 或 –exclude-from 之前
          3 [yun@backup tmp]$ rsync -avz –include=systemd* –exclude=*.conf /etc/yum /tmp/zhang02

           

          Rsync 本地模式實(shí)踐

          Local:  rsync [OPTION…] SRC… [DEST]

           

          示例如下:

          rsync -avz /etc/yum  /tmp/zhang01

           

          Rsync 使用遠(yuǎn)程 SSH 通道實(shí)踐

          1 Access via remote shell:
          2  Pull: rsync [OPTION…] [USER@]HOST:SRC… [DEST]
          3  Push: rsync [OPTION…] SRC… [USER@]HOST:DEST

          拉取數(shù)據(jù):將遠(yuǎn)程機(jī)器的數(shù)據(jù)復(fù)制到本地

          [yun@backup ~]$ rsync -avzP -e ‘ssh -p 22’ yun@172.16.1.182:/etc/yum /tmp/zhang01

          推送數(shù)據(jù):將本地的數(shù)據(jù)復(fù)制到遠(yuǎn)程機(jī)器

          [yun@backup ~]$ rsync -avzP -e ‘ssh -p 22’ /etc/yum yun@172.16.1.182:/tmp/zhang

          Rsync daemon 服務(wù)模式實(shí)踐

          1 Access via rsync daemon:
          2  Pull: rsync [OPTION…] [USER@]HOST::SRC… [DEST]
          3        rsync [OPTION…] rsync://[USER@]HOST[:PORT]/SRC… [DEST]
          4  Push: rsync [OPTION…] SRC… [USER@]HOST::DEST
          5        rsync [OPTION…] SRC… rsync://[USER@]HOST[:PORT]/DEST

          使用規(guī)劃

          1、backup 服務(wù)器作為 rsync 服務(wù)端

          2、以 ansi-haproxy02 作為客戶端,進(jìn)行數(shù)據(jù)推拉。

          rsync 服務(wù)端配置

          系統(tǒng)環(huán)境信息

          [yun@backup ~]$ cat /etc/RedHat-release
          CentOS Linux release 7.5.1804 (Core)
          [yun@backup ~]$ uname -a
          Linux backup 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
          [root@backup ~]# rpm -qa | grep ‘rsync’
          rsync-3.1.2-4.el7.x86_64
          [yun@backup ~]$ rsync –version  # 系統(tǒng)已默認(rèn)安裝,如果沒(méi)有那自行安裝下
          rsync  version 3.1.2  protocol version 31
          Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others.
          Web site: http://rsync.samba.org/
          Capabilities:
              64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
              socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
              append, ACLs, xattrs, iconv, symtimes, prealloc

          rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
          are welcome to redistribute it under certain conditions.  See the GNU
          General Public Licence for details.

          服務(wù)配置文件

          注意:配置后面不要添加任何信息和空格,不然可能被解析,導(dǎo)致后續(xù)一系列問(wèn)題。

          [root@backup ~]# cat /etc/rsyncd.conf
          # 備注:更多參數(shù)與更多詳解,參見(jiàn)  man rsyncd.conf
          #rsync_config—————start
          uid = root
          gid = root
          use chroot = false
          max connections = 200
          timeout = 100
          pid file = /var/run/rsyncd.pid
          lock file = /var/run/rsync.lock
          log file = /var/log/rsyncd.log
          dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
          ignore errors = true
          read only = false
          list = false

          ## 注意為了避免困惑 hosts allow 和 hosts deny 請(qǐng)二選其一
          hosts allow = 172.16.1.0/24,10.9.0.0/16,120.27.48.179
          # hosts deny = 10.0.0.0/16
          # 支持多個(gè)認(rèn)證賬號(hào)
          auth users = rsync_backup,rsync_db_back
          secrets file = /etc/rsync.password

          # 數(shù)據(jù)備份 注意 path 目錄的權(quán)限信息
          [back_data_module]
          path = /backup/busi_data/

          # 數(shù)據(jù)庫(kù)備份 注意 path 目錄的權(quán)限信息
          [back_db_module]
          path = /backup/database/

          #rsync_config—————end

          配置文件詳解

          更多參數(shù)與詳解,參見(jiàn) man rsyncd.conf

          # 備注:更多參數(shù)與更多詳解,參見(jiàn)  man rsyncd.conf
          # rsync_config—————start
          # 可以是其他用戶
          # 超級(jí)用戶運(yùn)行時(shí)的默認(rèn)設(shè)置是切換到系統(tǒng)的“nobody”用戶
          # 如果配置為 root 用戶,這時(shí)可以同步屬主信息
          # 非超級(jí)用戶是不能同步屬主信息的
          uid = root  # 其他主機(jī)通過(guò) rsync 實(shí)現(xiàn)推拉時(shí)使用什么用戶
          # 可以是其他用戶組
          # 超級(jí)用戶組運(yùn)行時(shí)的默認(rèn)設(shè)置是切換到系統(tǒng)的“nobody”用戶組
          # 如果配置為 root 用戶組,這時(shí)可以同步屬組信息
          # 非超級(jí)用戶組是不能同步屬組信息的
          gid = root  # 其他主機(jī)通過(guò) rsync 實(shí)現(xiàn)推拉時(shí)使用什么用戶組
          # 如果為 true,安全性更高,但軟連接文件「可能」同步不了
          # 這是 rsync 的一個(gè)安全配置,由于我們大多數(shù)都是內(nèi)網(wǎng)使用,所以可以不配置。建議 false
          use chroot = false
          max connections = 200  # 最大連接數(shù)
          timeout = 100  # 超時(shí)時(shí)間
          pid file = /var/run/rsyncd.pid  # 進(jìn)程號(hào)文件
          lock file = /var/run/rsync.lock  # 鎖文件,防止文件不一致
          log file = /var/log/rsyncd.log  # 日志文件
          dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2  # 對(duì)哪些文件傳輸時(shí)不壓縮【如果傳輸時(shí)我們指定了壓縮參數(shù)】
          ignore errors = true # 忽略錯(cuò)誤
          read only = false  # 在服務(wù)端可讀寫
          list = false  # 不讓列表,安全考慮

          ## 注意為了避免困惑 hosts allow 和 hosts deny 請(qǐng)二選其一
          hosts allow = 172.16.1.0/24,10.9.0.0/16,120.27.48.179  # 可訪問(wèn)的網(wǎng)段或IP,多個(gè)使用逗號(hào)分隔;其他的都不可訪問(wèn)
          # hosts deny = 10.0.0.0/16  # 不可訪問(wèn)的網(wǎng)段或IP,多個(gè)使用逗號(hào)分隔;其他的都可以訪問(wèn)
          # 支持多個(gè)認(rèn)證賬號(hào)
          auth users = rsync_backup,rsync_db_back  # 其他主機(jī)連接時(shí),校驗(yàn)的用戶【虛擬用戶】
          secrets file = /etc/rsync.password      # 虛擬用戶賬號(hào)及密碼

          # 數(shù)據(jù)備份 注意 path 目錄的權(quán)限信息
          [back_data_module]
          path = /backup/busi_data/

          # 數(shù)據(jù)庫(kù)備份 注意 path 目錄的權(quán)限信息
          [back_db_module]
          path = /backup/database/

          # rsync_config—————end

          uid、gid 詳解

          當(dāng) rsync 服務(wù)端的 uid、gid 用的是 rsync 用戶和用戶組【或其他非超級(jí)用戶、用戶組】時(shí),客戶端同步時(shí)只能同步數(shù)據(jù)信息、權(quán)限信息、時(shí)間戳信息,但不能同步屬主、屬組信息。此時(shí)客戶端若要同步的數(shù)據(jù)屬主、屬組,那么客戶端數(shù)據(jù)的屬主、屬組必須也是 rsync【即客戶端與服務(wù)端的 uid、gid 相同】;或者不要同步屬主、屬組信息。

          如果需要把多個(gè)文件且屬主、屬組不同的屬性信息也同步到 rsync 服務(wù)端,那么在 rsync 服務(wù)端的 uid、gid 配置都應(yīng)該是 root。

          use chroot 詳解

          use chroot = true

          需要 root 權(quán)限,且 rsync 在傳輸文件之前首先 chroot 到 path 參數(shù)所指定的目錄下,然后再開(kāi)始與客戶端進(jìn)行文件傳輸。
          優(yōu)點(diǎn):可以提供額外的保護(hù),防止可能的出現(xiàn)的安全漏洞
          缺點(diǎn):如果同步的數(shù)據(jù)有軟連接,那么軟連接「可能」同步不了

          use chroot = false

          出于安全原因,默認(rèn)情況下使用 munge 符號(hào)鏈接,即所有的軟連接前面多會(huì)加 /rsyncd-munged/,如下:

          Rsync 服務(wù)部署與參數(shù)詳解

          其他必要設(shè)置與配置

          1、創(chuàng)建對(duì)應(yīng)的目錄

          其他必要設(shè)置與配置

          1、創(chuàng)建對(duì)應(yīng)的目錄

          1 [root@backup ~]# mkdir -p /backup/{busi_data,database}
          2 [root@backup ~]# ll /backup/
          3 total 0
          4 drwxr-xr-x 2 root root 6 Sep 20 14:54 busi_data
          5 drwxr-xr-x 2 root root 6 Sep 20 14:54 database

          2、rsync虛擬用戶配置

          [root@backup ~]# ll /etc/rsync.password    # 注意文件的權(quán)限信息 600
          -rw——- 1 root root 63 Sep 20 15:03 /etc/rsync.password
          [root@backup ~]#
          [root@backup ~]# cat /etc/rsync.password
          rsync_backup:rsync_backup_pwd
          rsync_db_back:rsync_db_back_pwd

          啟動(dòng)/停止 Rsync 守護(hù)進(jìn)程服務(wù)

          [root@backup ~]# systemctl start rsyncd.service
          [root@backup ~]# netstat -lntup | grep ‘rsync’
          tcp        0      0 0.0.0.0:873            0.0.0.0:*              LISTEN      2366/rsync
          tcp6      0      0 :::873                  :::*                    LISTEN      2366/rsync
          [root@backup ~]# lsof -i :873
          COMMAND  PID USER  FD  TYPE DEVICE SIZE/OFF NODE NAME
          rsync  2347 root    3u  IPv4  31366      0t0  TCP *:rsync (LISTEN)
          rsync  2347 root    5u  IPv6  31367      0t0  TCP *:rsync (LISTEN)
          [root@backup ~]# ps -ef | grep ‘rsync’
          root      2366      1  0 10:59 ?        00:00:00 /usr/bin/rsync –daemon –no-detach
          root      2571  1684  0 11:08 pts/0    00:00:00 grep –color=auto rsync

          停止 rsync 服務(wù)

          [root@backup ~]# systemctl stop rsyncd.service

          加入開(kāi)機(jī)自啟動(dòng)

          [root@backup ~]# systemctl enable rsyncd.service  # 加入開(kāi)機(jī)自啟動(dòng)
          Created symlink from /etc/systemd/system/multi-user.target.wants/rsyncd.service to /usr/lib/systemd/system/rsyncd.service.
          [root@backup ~]# systemctl status rsyncd.service
          ● rsyncd.service – fast remote file copy program daemon
            Loaded: loaded (/usr/lib/systemd/system/rsyncd.service; enabled; vendor preset: disabled)
            Active: inactive (dead)

          Rsync 客戶端配置

          系統(tǒng)環(huán)境信息

          [root@ansi-haproxy02 ~]# cat /etc/redhat-release
          CentOS Linux release 7.5.1804 (Core)
          [root@ansi-haproxy02 ~]# uname -a
          Linux ansi-haproxy02 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
          [root@ansi-haproxy02 ~]# rpm -qa | grep ‘rsync’
          rsync-3.1.2-4.el7.x86_64
          [root@ansi-haproxy02 ~]# rsync –version
          rsync  version 3.1.2  protocol version 31
          Copyright (C) 1996-2015 by Andrew Tridgell, Wayne Davison, and others.
          Web site: http://rsync.samba.org/
          Capabilities:
              64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
              socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
              append, ACLs, xattrs, iconv, symtimes, prealloc

          rsync comes with ABSOLUTELY NO WARRANTY.  This is free software, and you
          are welcome to redistribute it under certain conditions.  See the GNU
          General Public Licence for details.

          密碼文件

          注意密碼文件只能填寫對(duì)應(yīng)密碼信息,不要有其他多余的字符,rsync 在讀取時(shí)僅讀取該文件的第一行信息。

          [root@ansi-haproxy02 ~]# ll /etc/rsync.password*    # 注意權(quán)限信息 600 或 400
          -rw——- 1 root root 36 Sep 20 16:28 /etc/rsync.password
          -rw——- 1 root root 19 Sep 24 11:30 /etc/rsync.password2
          [root@ansi-haproxy02 ~]# cat /etc/rsync.password
          rsync_backup_pwd
          [root@ansi-haproxy02 ~]# cat /etc/rsync.password2
          rsync_db_back_pwd

          注意:客戶端一個(gè) password 文件不能存放多個(gè)密碼,rsync 在讀取文件的時(shí)候只會(huì)讀取第一個(gè)密碼。

          客戶端準(zhǔn)備數(shù)據(jù)

          [root@ansi-haproxy02 zhang]# pwd
          /tmp/zhang
          [root@ansi-haproxy02 zhang]# cp -a /etc/yum ./
          [root@ansi-haproxy02 zhang]# ll
          total 0
          drwxr-xr-x. 6 root root 100 Nov 14  2018 yum
          [root@ansi-haproxy02 zhang]# touch stu{01..100}
          [root@ansi-haproxy02 zhang]# ls
          stu001  stu008  stu015  stu022  stu029  stu036  stu043  stu050  stu057  stu064  stu071  stu078  stu085  stu092  stu099
          stu002  stu009  stu016  stu023  stu030  stu037  stu044  stu051  stu058  stu065  stu072  stu079  stu086  stu093  stu100
          stu003  stu010  stu017  stu024  stu031  stu038  stu045  stu052  stu059  stu066  stu073  stu080  stu087  stu094  yum
          stu004  stu011  stu018  stu025  stu032  stu039  stu046  stu053  stu060  stu067  stu074  stu081  stu088  stu095
          stu005  stu012  stu019  stu026  stu033  stu040  stu047  stu054  stu061  stu068  stu075  stu082  stu089  stu096
          stu006  stu013  stu020  stu027  stu034  stu041  stu048  stu055  stu062  stu069  stu076  stu083  stu090  stu097
          stu007  stu014  stu021  stu028  stu035  stu042  stu049  stu056  stu063  stu070  stu077  stu084  stu091  stu098

          推拉數(shù)據(jù)

          客戶端向服務(wù)端推送數(shù)據(jù)

          使用 rsync_backup 賬號(hào)測(cè)試

          情況1、需要校驗(yàn)用戶密碼

          [root@ansi-haproxy02 zhang]# rsync -avz /tmp/zhang rsync_backup@172.16.1.181::back_data_module
          Password:
          sending incremental file list
          ………………
          sent 6,202 bytes  received 2,070 bytes  1,504.00 bytes/sec
          total size is 1,117  speedup is 0.14

          情況2、不要密碼【密碼文件】

          # 方式一
          # 從本地推送到服務(wù)端 back_data_module 模塊路徑下
          [root@ansi-haproxy02 zhang]# rsync -avz –password-file=/etc/rsync.password /etc/yum rsync_backup@172.16.1.181::back_data_module
          # 方式二
          # 從本地推送到服務(wù)端 back_data_module 模塊路徑下的 zhang 目錄下
          [root@ansi-haproxy02 zhang]# rsync -avz –password-file=/etc/rsync.password /etc/systemd rsync://rsync_backup@172.16.1.181/back_data_module/zhang/

          其中:back_data_module 為 rsync 配置中的模塊名

          客戶端向服務(wù)端拉取數(shù)據(jù)

          使用 rsync_db_back 賬號(hào)測(cè)試

          情況1:需要校驗(yàn)用戶密碼

          1 [root@ansi-haproxy02 test]# rsync -avz rsync_db_back@172.16.1.181::back_data_module/zhang /tmp/test/
          2 Password:
          3 receiving incremental file list
          4 …………

          情況2、不要密碼【密碼文件】

          # 方式一
          # 從服務(wù)端 back_data_module 模塊路徑下的yum目錄,拉取到本地 /tmp/test1/ 目錄下
          [root@ansi-haproxy02 kkkk]# rsync -avz –password-file=/etc/rsync.password2 rsync_db_back@172.16.1.181::back_data_module/yum /tmp/test1/
          # 方式二
          # 從服務(wù)端 back_data_module 模塊路徑下的yum目錄,拉取到本地 /tmp/test2/ 目錄下
          [root@ansi-haproxy02 tmp]# rsync -avz –password-file=/etc/rsync.password2 rsync://rsync_db_back@172.16.1.181/back_data_module/yum /tmp/test2/

          其中:back_data_module 為 rsync 配置中的模塊名

           

          注意點(diǎn):

          客戶端路徑末尾是否有 /

          “/” 有:則表示推送該目錄下的所有文件

          “/” 無(wú):則表示推送該目錄,與該目錄下所有文件

          目標(biāo)一端可以加一個(gè)不存在的目錄

          類似 cp 命令一樣,我們可以在目標(biāo)一端指定一個(gè)目錄

          推送時(shí),目標(biāo)一端有該目錄則直接使用;沒(méi)有則創(chuàng)建

          Rsync 常見(jiàn)問(wèn)題

          故障點(diǎn)1:客戶端密碼文件屬主不對(duì)

          客戶端以哪個(gè)用戶執(zhí)行命令,那么 password-file 文件的屬主就是哪個(gè)用戶。
          當(dāng)然為了安全起見(jiàn),客戶端的 password-file 文件屬主最好是 root ,這時(shí)我們執(zhí)行命令也用 root 用戶。

          1 [root@ansi-haproxy02 ~]# rsync -avz –password-file=/etc/rsync.password2 /etc/yum rsync_db_back@172.16.1.181::back_db_module
          2 ERROR: password file must be owned by root when running as root
          3 rsync error: syntax or usage error (code 1) at authenticate.c(200) [sender=3.1.2]

          故障點(diǎn)2:客戶端密碼文件權(quán)限不對(duì)

          客戶端的 password-file 文件權(quán)限是 600 或 400。

          1 [root@ansi-haproxy02 ~]# rsync -avz –password-file=/etc/rsync.password2 /etc/yum rsync_db_back@172.16.1.181::back_db_module
          2 ERROR: password file must not be other-accessible
          3 rsync error: syntax or usage error (code 1) at authenticate.c(196) [sender=3.1.2]

          故障點(diǎn)3:客戶端用戶執(zhí)行權(quán)限不足

          客戶端用戶執(zhí)行權(quán)限不足,不能讀取 password-file 文件信息。
          當(dāng)前使用 yun 用戶,實(shí)際需要 root 用戶。

          1 [yun@ansi-haproxy02 ~]$ rsync -avz –password-file=/etc/rsync.password2 /etc/yum rsync_db_back@172.16.1.181::back_db_module
          2 rsync: could not open password file /etc/rsync.password2: Permission denied (13)
          3 rsync error: syntax or usage error (code 1) at authenticate.c(187) [sender=3.1.2]

          故障點(diǎn)4:服務(wù)端沒(méi)有對(duì)應(yīng)的模塊目錄

          服務(wù)端 back_db_module 模塊的 path 路徑不存在。

          1 [root@ansi-haproxy02 ~]# rsync -avz –password-file=/etc/rsync.password2 /etc/yum rsync_db_back@172.16.1.181::back_db_module
          2 @ERROR: chdir failed
          3 rsync error: error starting client-server protocol (code 5) at main.c(1648) [sender=3.1.2]

          故障點(diǎn)5:客戶端密碼不正確

          客戶端 password-file 文件的密碼信息與服務(wù)端的密碼不匹配,不能通過(guò)驗(yàn)證。

          1 [root@ansi-haproxy02 ~]# rsync -avz –password-file=/etc/rsync.password2 /etc/yum rsync_db_back@172.16.1.181::back_db_module
          2 @ERROR: auth failed on module back_db_module
          3 rsync error: error starting client-server protocol (code 5) at main.c(1648) [sender=3.1.2]

          故障點(diǎn)6:服務(wù)端目錄不存在

          服務(wù)端只能創(chuàng)建一級(jí)不存在的目錄,不能創(chuàng)建二級(jí)及以上不存在的目錄。

          1 [root@ansi-haproxy02 ~]# rsync -avz –password-file=/etc/rsync.password2 /etc/yum rsync_db_back@172.16.1.181::back_db_module/aaa/bbb
          2 sending incremental file list
          3 rsync: mkdir “aaa/bbb” (in back_db_module) failed: No such file or directory (2)
          4 rsync error: error in file IO (code 11) at main.c(657) [Receiver=3.1.2]

          贊(0)
          分享到: 更多 (0)
          網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)