Centos
rsync –compare-dest,不是加速結果
我已嘗試
rsync --compare-dest
按預期工作,但我需要一些幫助。我的目標是為 CentOS 創建離線 repo deltas。我有一台連接到 Internet 的伺服器來儲存我的 CentOS 鏡像。我有一個離線系統的基線,我想創建 delta 文件,因為我需要在光碟上進行更新。我知道圍繞同一個問題有很多主題,但我無法讓它發揮作用。
這是我如何嘗試讓一個簡單的範例工作的解釋:
[xttomfal@protectera-CentOS-Internet ~]$ ls testdiff1 testfil1 testfil2 testfil3 [xttomfal@protectera-CentOS-Internet ~]$ ls testdiff2 testfil1 testfil2
複製同名文件,表示內容完全相同。現在我創建了一個目錄
diffresult/
,我想在其中複製 testfil3。如果我區分目錄
[xttomfal@protectera-CentOS-Internet ~]$ diff testdiff1 testdiff2 Only in testdiff1: testfil3 [xttomfal@protectera-CentOS-Internet ~]$
然後我嘗試了很多不同的 rsync compare-dest 命令,例如:
[xttomfal@protectera-CentOS-Internet ~]$ rsync -av --progress --stats --compare-dest=testdiff1 testdiff2/ diffresult/ sending incremental file list --compare-dest arg does not exist: testdiff1 ./ testfil1 9 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=1/3) testfil2 9 100% 8.79kB/s 0:00:00 (xfr#2, to-chk=0/3) Number of files: 3 (reg: 2, dir: 1) Number of created files: 2 (reg: 2) Number of deleted files: 0 Number of regular files transferred: 2 Total file size: 18 bytes Total transferred file size: 18 bytes Literal data: 18 bytes Matched data: 0 bytes File list size: 0 File list generation time: 0.001 seconds File list transfer time: 0.000 seconds Total bytes sent: 215 Total bytes received: 106 sent 215 bytes received 106 bytes 642.00 bytes/sec total size is 18 speedup is 0.06 [xttomfal@protectera-CentOS-Internet ~]$ ls diffresult/ testfil1 testfil2 [xttomfal@protectera-CentOS-Internet ~]$
所以問題似乎是複制的文件是顯示在兩個目錄而不是 Delta 的文件。
有沒有辦法只複製目錄之間差異的文件?
有沒有辦法只複製目錄之間差異的文件?
是的。在您的情況下,所缺少的只是比較目錄是相對於目標的。同樣的問題也適用於連結目錄。這裡的解決方案是使用絕對路徑
設想
mkdir /tmp/608927 cd /tmp/608927 mkdir testdiff{1,2} changed touch testdiff1/testfil{1,2,3} cp -p testdiff1/testfil{1,2} testdiff2/
測試執行,將文件從 複製
testdiff1
到changed
,但只複製那些既不是最新的,testdiff2
也不是最新的changed
rsync -av --compare-dest "$PWD"/testdiff2/ testdiff1/ changed/
輸出
sending incremental file list ./ testfil3 sent 165 bytes received 38 bytes 406.00 bytes/sec total size is 0 speedup is 0.00
證據
ls changed/ testfil3
請注意,如果您在看起來像是在本地系統上的目錄之間進行複制,
rsync
則會有效地降級為製作完整副本(或不複製)。如果您rsync
在網路連接上執行,它可以在每一端執行一個自身的實例,您將獲得僅傳輸更改的好處。