Centos rsync配置
一、伺服器端配置:# yum -y install xinetd
# vi /etc/xinetd.d/rsync 將如下程式碼
service rsync { disable = yes socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = –daemon log_on_failure += USERID }
中的 disable = yes 改成 disable = no
然後啟動 xinetd# /etc/init.d/xinetd start 或 service xinetd restart
# telnet 127.0.0.1 873 Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection refused # iptables -A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 873 -j ACCEPT # iptables -A INPUT -p tcp -m tcp --dport 873 -j DROP
# vi /etc/rsyncd.conf (這個檔案如果不存在自己建立)
#Global Settings uid = root #以什麼身份執行rsync gid = root use chroot = no #不使用chroot max connections = 20 #最大連線數 secrets file = /etc/rsyncd.secrets #密碼檔案位置,認證檔案設定,設定使用者名稱和密碼 log file = /var/log/rsyncd.log #指定rsync的日誌檔案,而不將日誌傳送給syslog pid file = /var/run/rsyncd.pid #指定rsync的pid檔案 lock file = /var/run/rsync.lock #指定支援max connections引數的鎖檔案,預設值是/var/run/rsyncd.lock comment = hello world #motd file = /etc/rsyncd.motd #歡迎資訊檔名稱和存放位置(此檔案沒有,可以自行新增) [backup] # 這裡是認證的模組名,在client端需要指定 path = /titan24/www/repos # 需要做映象的目錄 auth users = rsync # 授權帳號。認證的使用者名稱,如果沒有這行,則表明是匿名,多個使用者用,分隔 read only = no # yes只讀 值為NO意思為可讀可寫模式,資料恢復用NO hosts allow = 192.168.3.128 #允許訪問的伺服器IP hosts deny = * #黑名單 list = true # 允許列檔案 #ignore errors # 可以忽略一些無關的IO錯誤 #exclude = cache/111/ cache/222/ #忽略的目錄
# vi /etc/rsyncd.secrets (設定訪問(認證)的使用者名稱密碼)
rsync:111111 #使用者名稱:密碼
給檔案正確的許可權# chown root:root /etc/rsyncd.secrets # chmod 600 /etc/rsyncd.secrets #(必須是600)
二、client 端進行同步 客戶端預設好像已經裝了rsync,沒有的話裝下:# yum -y install rsync
執行非同步同步操作:
/usr/bin/rsync -avz --progress [email protected]::backup /www
# crontab -e #(可以定時每三分鐘同步一次檔案)
*/3 * * * * rsync -avz --progress [email protected]::backup /www
下面這個命令完整一點:
#vi /etc/rsyncd.pas 加入密碼 rsyncofpass 注意,客戶端的密碼檔案只需要密碼,而不需要使用者名稱!
更改檔案許可權: #chmod 0600 /etc/rsyncd.pas
#rsync -vzrtopgu --progress --delete --password-file=/etc/rsyncd.pas [email protected]::rsync_module_name1 /www/
這個命令列中-vzrtopg裡的v是verbose, z是壓縮傳輸, r是recursive, topg都是保持檔案原有屬性如屬主、時間的引數。 u是隻同步已經更新的檔案,避免沒有更新的檔案被重複更新一次,不過要注意兩者機器的時鐘的同步。 –progress是指顯示出詳細的進度情況, –delete是指如果伺服器端刪除了這一檔案,那麼客戶端也相應把檔案刪除,保持真正的一致。 後 面的[email protected]::rsync_module_name1中,之後的rsync_module_name1是模組名, 也就是在/etc/rsyncd.conf中自定義的名稱,rsync_user是指定模組中指定的可以同步的使用者名稱。 最後的/www是備份到本地的目錄名。 在這裡面,還可以用-e ssh的引數建立起加密的連線。 可以用–password-file=/password/path/file來指定密碼檔案,這樣就可以在指令碼中使用而無需互動式地輸入驗證密碼了,這裡需要注意的是這份密碼檔案許可權屬性要設得只有屬主可讀。
#/usr/local/rsync/bin/rsync -vzrtopg –progress –delete[email protected]::rsync_module_name1 /tmp/ Password: 或者你也可以制定password檔案 由於需要系統crontab執行,所以這裡採用讀入密碼檔案的方式, 這個時候就成功了。
---------------------------------同步命令說明:---------------------------------
1 顯示目錄內容
命令 —— a) rsync b) rsync -r c) rsync [email protected]:: d) rsync [email protected]:
命令說明 ——— a) 顯示目錄內容(第一層) b) 遞迴顯示目錄內容 c) 顯示遠端主機目錄內容 *注1:埠模式, 基於rsync使用者的身份驗證 *注2:rsync server上的目錄必須具有xx7的許可權.
d) 檢視遠端主機目錄內容 *注1:remote shell模式, 通過ssh連線的基於系統本地使用者的身份驗證 *注2:這裡只使用了一個冒號(:),同時使用者名稱是遠端主機的ssh 使用者,密碼也是ssh使用者對應的密碼。 *注3:使用””,則列出資料夾本身的資訊。若要列出資料夾內容,應使用”/”。
引數說明 ——— -r 對目錄進行遞迴操作
2 本地目錄之間同步
命令 —— a) rsync -av –progress / *** 注意(/) *** b) rsync -av –progress c) rsync -avu –progress –delete / d) rsync -av –progress –temp-dir=/tmp /
命令說明 ——— a) 同步src-dir目錄下所有檔案到dst-dir目錄下 b) 同步src-dir目錄下所有檔案到dst-dir/src-dir目錄下 c) 對src-dir目錄內容向dst-dir目錄下進行差異更新,有增加/更新則新增替換,有減少則對其刪減 d) 比a)多了–temp-dir=/tmp,即指定/tmp為臨時交換區,這樣可以避免因目標目錄空間不夠引起的無法同步檔案的錯誤。
引數說明 ——— -a 相當於 -rlptgoD 的集合 -u 等同於 –update,在目標檔案比原始檔新的情況下不更新 -v 顯示同步的檔案 –progress 顯示檔案同步時的百分比進度、傳輸速率 –delete 刪除目標目錄中多於源目錄的檔案
3 異地主機之間同步 命令 —— a) rsync -avz –progress [email protected]::/ b) rsync -avz –progress [email protected]::/ –password-file=/home/jack/rsync.jack c) rsync -avuz –progress –delete [email protected]::/ –password-file=/home/jack/rsync.jack d) rsync -avz –progress [email protected]::/
命令說明 ——— a) 同步本地目錄的內容到遠端主機192.168.0.1的目錄下,jack是rsync資料庫使用者(參見3. /etc/rsync.secrets) b) 通過自動讀取使用者密碼而實現非互動登入檔案同步 c) 較b)多了-u和–delete d) 同步遠端主機內容到本地目錄
以前在使用rsync備份這篇文章裡說到怎麼使用rsync使用ssh協議,來同步遠端檔案的方法,rsync -zvrtopg -e ssh 但是如果遇到ssh不是22埠的呢?man了半天,其實很簡單 rsync -zvrtopg -e ‘ssh -p 埠’ 很簡單很好用!特別是對於小檔案特別多的時候,rsync獨特演算法的優勢展現得淋漓盡致 !
rsync深入研究
1,預設配置下,rsync的目錄是隻讀的,除非你顯示的註明 read only = no
2,同步軟連結出現的問題---/rsyncd-munged/
如果rsync伺服器提供的目錄可寫,並且設定use chroot = no,那麼就會出現這樣的問題,在軟連結地址前多了/rsyncd-munged/
如果rsync伺服器提供的目錄可寫,並且設定use chroot = yes,那麼問題就可以解決。
原因:預設情況下,rsync的目錄是隻讀的,因此同步的時候,安全機制的干預較少,出現的問題較少。
如果設定rsync的目錄可寫後,rsync的安全機制就進行干預了,會防止惡意破壞rsync的伺服器目錄,因此預設會在軟連結前面
加上/rsyncd-munged/,防止越權操作。
3,軟連結同步問題
a,把軟連結當作軟連結來同步,使用命令-l
b,把軟連結當作目錄來同步,使用命令-L
c,不同步軟連結,不使用上述命令
4,rsync同步目錄技巧
a,同步命令 host::test/test/ /home/test/ 直接將host::test/test/下面的檔案同步到/home/test/下,因此兩個目錄是完全一致的。
b,同步命令 host::test/test/ /home/test 直接將host::test/test/下面的檔案同步到/home/test/下,因此兩個目錄是完全一致的。
c,同步命令 host::test/test /home/test 直接將host::test/test/下面的檔案同步到/home/test/test/下,因此兩個目錄是不一致的。
d,同步命令 host::test/test /home/test/ 直接將host::test/test/下面的檔案同步到/home/test/test/下,因此兩個目錄是不一致的。
總結,同步目錄host::test/test/是說將該目錄下面的內容不同到指定目錄中;
同步目錄host::test/test 是說將該目錄同步到指定目錄中;
至於說後面的指定目錄有沒有"/"真的不重要,都可以;
5,rsync基於ssh方式傳輸檔案
rsync -av [email protected]:/tmp/test.ios /tmp/ 指定帳號
rsync -av miotour.com:/tmp/test.ios /tmp/ 使用預設的帳號
6,rsync基於ssh方式傳輸和基於socket方式傳輸速度對比,sockey方式明顯勝出,速度提升38%
為了防止同步同一個檔案造成誤差,因此同時生成兩個檔案
dd if=/dev/zero of=/home/test.iso bs=1G count=10
dd if=/dev/zero of=/home/test1.iso bs=1G count=10
time /usr/local/bin/rsync -av --progress miotour.com::miotour/test.iso . real 1m31.417s
time /usr/local/bin/rsync -av --progress [email protected]:/home/test1.iso . real 2m28.177s
7,限速 單位KB/S
--bwlimit=40960 限速為40MB/S
8,檔案修改後的傳輸方式
dd if=/dev/zero of=/home/test.iso bs=100M count=20
第一次傳輸情形如下:
echo "jiaozhenqing">>test.iso ls命令檢查確認檔案更新
可以看到,received 199105 bytes;而整個檔案傳輸的話,傳輸了2097408128bytes,傳輸的體積佔據檔案體積的萬分之一
9,傳輸壓縮和不壓縮的區別
傳輸壓縮的話,速度慢,時間長;
傳輸不壓縮的話,速度快,時間短,節省38%的時間。
疑問?壓縮和不壓縮傳輸的檔案體積基本相似 檔案體積是2097152026這個沒有爭議
並且該檔案可以被gzip壓縮到2035286的體積,不存在類似圖片等無法壓縮的情況
time /usr/local/bin/rsync -avz --progress 壓縮傳輸
time /usr/local/bin/rsync -av --progress 不壓縮傳輸
10,新增-W(--whole-file)引數後,不進行增量檢測,如果檔案發生變化,就會全量傳輸,而非變動部分傳輸。
11,指定檢驗演算法使用的塊尺寸,預設是700位元組 -B, --block-size=SIZE
time /usr/local/bin/rsync -av --progress -B 2000
預設尺寸的話,傳輸了199111 bytes。設定為2000位元組的話,傳輸了4194455bytes;
增大塊尺寸,並沒有明顯的收益,反而增加了傳輸時間和傳輸體積,不可取。
下面是預設尺寸的
time /usr/local/bin/rsync -av --progress -B 2000
time /usr/local/bin/rsync -av --progress -B 400000
12,rsync開啟強制對檔案傳輸進行校驗效能對比
time /usr/local/bin/rsync -av --progress -c 開啟後,檔案傳輸體積稍微增大一點點,可忽略不計,但傳輸時間明顯延長27%
time /usr/local/bin/rsync -av --progress
time /usr/local/bin/rsync -av --progress -zc 如果說同時開啟了c和z呢,時間增加一倍,傳輸體積居然也增加了,不可理解。
13,待解決問題
14,rsync同步單個檔案時候的行為
我同步一個檔案到web目錄下,並且顯示web目錄已經達到了1.2GB了
執行ls命令啥也看不到,執行ls -al則看到了一個隱藏檔案,原來rsync同步單個檔案的時候,在沒有完全同步之前,是先搞成隱藏檔案來處理的
15,Too many links (31)
今天rsync同步持續失敗,手工執行命令,發現一直報這個錯誤Too many links (31),想了下,應該是有太多的軟連結了吧,導致同步失敗,上去檢查,發現沒有問題,因為rsync報錯的目錄,只有三個檔案,並且一定不包含連結。
網上查了好久,沒有啥眉目,沒辦法了,至少自己動手了,想了半天,感覺可能是檔案數太多搞成的,然後我自己手工通過find檢查了下,發現主機有150萬檔案,備機有800萬檔案,掛不得主機同步不過去了,刪除備機的檔案後,同步恢復。
究其原因,應該是對端檔案數太多了,導致rsync無法進行同步了。當時為了排除問題,直接用scp 拷貝一個只有三個檔案的目錄,報錯同樣的內容,因此問題定位是檔案數的問題,而非rsync的問題。
16,網站映象命令推薦
rsync -av --delete miotour.com::miotour /home/miotour/
其實--delete還有對刪除檔案進行重新命名操作的,理論來講,該功能可以防止rsync源資料出現問題導致的映象機一併出現異常,但是使用久了就會發現,檔案備份後,檔案數在不斷增長,最後還是會死。
17,rsync同步目錄問題
在rsyncd.conf檔案中指定目錄
[miotour]
path = /home/miotour
[miotour1]
path = /home/miotour1
在/home/miotour下面建立三個目錄,a1,a2,a
在/home/test下面進行同步a目錄操作
1,rsync --port=12222 -vlzrtopg --delete miotour.com::mitour /home/test
該命令會將a a1 a2三個目錄同步到/home/test下,並且先將/home/test下面的內容刪除再同步
2,rsync --port=12222 -vlzrtopg --delete miotour.com::mitour/a /home/test
該命令會先將/home/test目錄下面的內容刪除後,在將a目錄同步到/home/test,因此僅有a被同步了
所以,同步是將指定目錄下面的檔案全部同步到指定目錄下面
3,rsync --port=12222 -vlzrtopg --delete miotour.com::mitour1 /home/test
4,rsync --port=12222 -vlzrtopg --delete miotour.com::mitour1/a /home/test
下面兩個命令和上面的執行效果完全相同,並不會因為在rsyncd.conf的路徑結尾多加了/而導致結果有任何不同。
注 :下面所有例子中 – - 之間實際上是沒有空格的,使用時請刪除空格。
Rsync是一個遠端資料同步工具,可通過LAN 或網際網路快速同步多臺主機間的檔案。Rsync 本來是用以取代 rcp的一個工具,它當前由 rsync.samba.org 維護。Rsync 使用所謂的”Rsync演演算法”來使本地和遠端兩個主機之間的檔案達到同步,這個演算法只傳送兩個檔案的不同部分,而不是每次都整份傳送,因此速度相當快。
Rsync 的特色:
- 快速:第一次同步時 rsync 會複製全部內容,但在下一次只傳輸修改過的檔案。
- 安全:rsync 允許通過 ssh 協議來加密傳輸資料。
- 更少的頻寬:rsync 在傳輸資料的過程中可以實行壓縮及解壓縮操作,因此可以使用更少的頻寬。
- 特權:安裝和執行 rsync 無需特別的許可權
基本語法:
rsync options source destination
源和目標都可以是本地或遠端,在進行遠端傳輸的時候,需要指定登入名、遠端伺服器及檔案位置
rsync 引數的具體解釋如下:
Html程式碼
- -v, --verbose 詳細模式輸出
- -q, --quiet 精簡輸出模式
- -c, --checksum 開啟校驗開關,強制對檔案傳輸進行校驗
- -a, --archive 歸檔模式,表示以遞迴方式傳輸檔案,並保持所有檔案屬性,等於-rlptgoD
- -r, --recursive 對子目錄以遞迴模式處理
- -R, --relative 使用相對路徑資訊
- -b, --backup 建立備份,也就是對於目的已經存在有同樣的檔名時,將老的檔案重新命名為~filename。可以使用--suffix選項來指定不同的備份檔案字首。
- --backup-dir 將備份檔案(如~filename)存放在在目錄下。
- -suffix=SUFFIX 定義備份檔案字首
- -u, --update 僅僅進行更新,也就是跳過所有已經存在於DST,並且檔案時間晚於要備份的檔案。(不覆蓋更新的檔案)
- -l, --links 保留軟鏈結
- -L, --copy-links 想對待常規檔案一樣處理軟鏈結
- --copy-unsafe-links 僅僅拷貝指向SRC路徑目錄樹以外的鏈結
- --safe-links 忽略指向SRC路徑目錄樹以外的鏈結
- -H, --hard-links 保留硬鏈結
- -p, --perms 保持檔案許可權
- -o, --owner 保持檔案屬主資訊
- -g, --group 保持檔案屬組資訊
- -D, --devices 保持裝置檔案資訊
- -t, --times 保持檔案時間資訊
- -S, --sparse 對稀疏檔案進行特殊處理以節省DST的空間
- -n, --dry-run現實哪些檔案將被傳輸
- -W, --whole-file 拷貝檔案,不進行增量檢測
- -x, --one-file-system 不要跨越檔案系統邊界
- -B, --block-size=SIZE 檢驗演算法使用的塊尺寸,預設是700位元組
- -e, --rsh=COMMAND 指定使用rsh、ssh方式進行資料同步
- --rsync-path=PATH 指定遠端伺服器上的rsync命令所在路徑資訊
- -C, --cvs-exclude 使用和CVS一樣的方法自動忽略檔案,用來排除那些不希望傳輸的檔案
- --existing 僅僅更新那些已經存在於DST的檔案,而不備份那些新建立的檔案
- --delete 刪除那些DST中SRC沒有的檔案
- --delete-excluded 同樣刪除接收端那些被該選項指定排除的檔案
- --delete-after 傳輸結束以後再刪除
- --ignore-errors 及時出現IO錯誤也進行刪除
- --max-delete=NUM 最多刪除NUM個檔案
- --partial 保留那些因故沒有完全傳輸的檔案,以是加快隨後的再次傳輸
- --force 強制刪除目錄,即使不為空
- --numeric-ids 不將數字的使用者和組ID匹配為使用者名稱和組名
- --timeout=TIME IP超時時間,單位為秒
- -I, --ignore-times 不跳過那些有同樣的時間和長度的檔案
- --size-only 當決定是否要備份檔案時,僅僅察看檔案大小而不考慮檔案時間
- --modify-window=NUM 決定檔案是否時間相同時使用的時間戳視窗,預設為0
- -T --temp-dir=DIR 在DIR中建立臨時檔案
- --compare-dest=DIR 同樣比較DIR中的檔案來決定是否需要備份
- -P 等同於 --partial
- --progress 顯示備份過程
- -z, --compress 對備份的檔案在傳輸時進行壓縮處理
- --exclude=PATTERN 指定排除不需要傳輸的檔案模式
- --include=PATTERN 指定不排除而需要傳輸的檔案模式
- --exclude-from=FILE 排除FILE中指定模式的檔案
- --include-from=FILE 不排除FILE指定模式匹配的檔案
- --version 列印版本資訊
- --address 繫結到特定的地址
- --config=FILE 指定其他的配置檔案,不使用預設的rsyncd.conf檔案
- --port=PORT 指定其他的rsync服務埠
- --blocking-io 對遠端shell使用阻塞IO
- -stats 給出某些檔案的傳輸狀態
- --progress 在傳輸時現實傳輸過程
- --log-format=formAT 指定日誌檔案格式
- --password-file=FILE 從FILE中得到密碼
- --bwlimit=KBPS 限制I/O頻寬,KBytes per second
- -h, --help 顯示幫助資訊
樣例:
1 在本地機器上對兩個目錄進行同步
$ rsync -zvr /var/opt/installation/inventory/ /root/temp building file list … done sva.xml svB.xml . sent 26385 bytes received 1098 bytes 54966.00 bytes/sec total size is 44867 speedup is 1.63 $
引數:
- -z 開啟壓縮
- -v 詳情輸出
- -r 表示遞迴
2 利用 rsync -a 讓同步時保留時間標記
rsync 選項 -a 稱為歸檔模式,執行以下操作
- 遞迴模式
- 保留符號連結
- 保留許可權
- 保留時間標記
- 保留使用者名稱及組名
$ rsync -azv /var/opt/installation/inventory/ /root/temp/ building file list … done ./ sva.xml svB.xml . sent 26499 bytes received 1104 bytes 55206.00 bytes/sec total size is 44867 speedup is 1.63 $
3 僅同步一個檔案
$ rsync -v /var/lib/rpm/Pubkeys /root/temp/ Pubkeys sent 42 bytes received 12380 bytes 3549.14 bytes/sec total size is 12288 speedup is 0.99
4 從本地同步檔案到遠端伺服器
$ rsync -avz /root/temp/ [email protected]:/home/thegeekstuff/temp/ Password: building file list … done ./ rpm/ rpm/Basenames rpm/Conflictname sent 15810261 bytes received 412 bytes 2432411.23 bytes/sec total size is 45305958 speedup is 2.87
就像你所看到的,需要在遠端目錄前加上 ssh 登入方式,格式為 [email protected]:path
5 同步遠端檔案到本地
和上面差不多,做個相反的操作
$ rsync -avz [email protected]:/var/lib/rpm /root/temp Password: receiving file list … done rpm/ rpm/Basenames . sent 406 bytes received 15810230 bytes 2432405.54 bytes/sec total size is 45305958 speedup is 2.87
6 同步時指定遠端 shell
用 -e 引數可以指定遠端 ssh ,比如用 rsync -e ssh 來指定為 ssh
$ rsync -avz -e ssh [email protected]:/var/lib/rpm /root/temp Password: receiving file list … done rpm/ rpm/Basenames sent 406 bytes received 15810230 bytes 2432405.54 bytes/sec total size is 45305958 speedup is 2.87
7 不要覆蓋被修改過的目的檔案
使用 rsync -u 選項可以排除被修改過的目的檔案
$ ls -l /root/temp/Basenames total 39088 -rwxr-xr-x 1 root root 4096 Sep 2 11:35 Basenames $ rsync -avzu [email protected]:/var/lib/rpm /root/temp Password: receiving file list … done rpm/ sent 122 bytes received 505 bytes 114.00 bytes/sec total size is 45305958 speedup is 72258.31 $ ls -lrt total 39088 -rwxr-xr-x 1 root root 4096 Sep 2 11:35 Basenames
8 僅僅同步目錄權(不同步檔案)
使用 -d 引數
$ rsync -v -d [email protected]:/var/lib/ . Password: receiving file list … done logrotate.status CAM/ YaST2/ acpi/ sent 240 bytes received 1830 bytes 318.46 bytes/sec total size is 956 speedup is 0.46
9 檢視每個檔案的傳輸程序
使用 – -progress 引數
$ rsync -avz – -progress [email protected]:/var/lib/rpm/ /root/temp/ Password: receiving file list … 19 files to consider ./ Basenames 5357568 100% 14.98MB/s 0:00:00 (xfer#1, to-check=17/19) Conflictname 12288 100% 35.09kB/s 0:00:00 (xfer#2, to-check=16/19) . . . sent 406 bytes received 15810211 bytes 2108082.27 bytes/sec total size is 45305958 speedup is 2.87
10 刪除在目的資料夾中建立的檔案
用 – -delete 引數
# Source and target are in sync. Now creating new file at the target. $ > new-file.txt $ rsync -avz – -delete [email protected]:/var/lib/rpm/ . Password: receiving file list … done deleting new-file.txt ./ sent 26 bytes received 390 bytes 48.94 bytes/sec total size is 45305958 speedup is 108908.55
11 不要在目的資料夾中建立新檔案
有時能只想同步目的地中存在的檔案,而排除原始檔中新建的檔案,可以使用 – -exiting 引數
$ rsync -avz –existing [email protected]:/var/lib/rpm/ . [email protected]′s password: receiving file list … done ./ sent 26 bytes received 419 bytes 46.84 bytes/sec total size is 88551424 speedup is 198991.96
12 檢視源和目的檔案之間的改變情況
用 -i 引數
$ rsync -avzi [email protected]:/var/lib/rpm/ /root/temp/ Password: receiving file list … done >f.st…. Basenames .f….og. Dirnames sent 48 bytes received 2182544 bytes 291012.27 bytes/sec total size is 45305958 speedup is 20.76
輸出結果中在每個檔案最前面會多顯示 9 個字母,分別表示為
> 已經傳輸 f 表示這是一個檔案 d 表示這是一個目錄 s 表示尺寸被更改 t 時間標記有變化 o 使用者被更改 g 使用者組被更改
13 在傳輸時啟用包含和排除模式
$ rsync -avz – -include ‘P*’ – -exclude ‘*’ [email protected]:/var/lib/rpm/ /root/temp/ Password: receiving file list … done ./ Packages Providename Provideversion Pubkeys sent 129 bytes received 10286798 bytes 2285983.78 bytes/sec total size is 32768000 speedup is 3.19
14 不要傳輸大檔案
使用 – - max-size 引數
$ rsync -avz – -max-size=’100K’ [email protected]:/var/lib/rpm/ /root/temp/ Password: receiving file list … done ./ Conflictname Group Installtid Name Sha1header Sigmd5 Triggername sent 252 bytes received 123081 bytes 18974.31 bytes/sec total size is 45305958 speedup is 367.35
15 傳輸所有檔案
不管有沒有改變,再次把所有檔案都傳輸一遍,用 -W 引數
# rsync -avzW [email protected]:/var/lib/rpm/ /root/temp Password: receiving file list … done ./ Basenames Conflictname Dirnames Filemd5s Group Installtid Name sent 406 bytes received 15810211 bytes 2874657.64 bytes/sec total size is 45305958 speedup is 2.87