Ubuntu

如何強制執行 rsync 以防止執行校驗和?

  • February 15, 2011

我們執行 Windows 文件伺服器的夜間備份,首先每晚在伺服器上創建增量備份文件(以及在星期四晚上進行完整備份),然後將其複製到執行 Linux/Ubuntu 的備份伺服器。為了保持異地冗餘,我們將備份目錄同步到外部驅動器,該驅動器在每晚執行後輪換。

隨著時間的推移,增量備份文件的數量穩步增加(儘管這些文件的大小有所不同)。

我們還注意到,rsync 過程一直在持續花費更長的時間,即使它只是將最新的兩個文件複製到外部驅動器。

這是命令:

rsync -vr --delete-before --log-file=/rsync_log.csv /backup/archive/ /mnt/usbdisk/  2>&1

當我們測試命令並調查日誌文件時,我們看到了:

...
2011/02/14 23:59:35 [14054] >f..T...... IncrementalBackup_2011_02_06_20.bkf
2011/02/15 00:00:45 [14054] >f..T...... IncrementalBackup_2011_02_08_20.bkf
2011/02/15 00:03:22 [14054] >f..T...... IncrementalBackup_2011_02_09_20.bkf
2011/02/15 00:04:36 [14054] >f..T...... IncrementalBackup_2011_02_11_20.bkf
2011/02/15 00:04:51 [14054] >f..T...... IncrementalBackup_2011_02_12_20.bkf
2011/02/15 00:05:06 [14054] >f..T...... IncrementalBackup_2011_02_13_20.bkf
2011/02/15 00:06:13 [14054] >f+++++++++ IncrementalBackup_2011_02_14_20.bkf
2011/02/15 00:54:32 [14054] >f..T...... Thursday_Full_Backup_2011_01_20.bkf
2011/02/15 03:24:41 [14054] >f..T...... Thursday_Full_Backup_2011_01_27.bkf
...

我們發現每個文件所花費的時間與文件的大小有關——即使跳過它(例如——完整備份大約需要 2.5 小時來處理,而增量備份大約需要 2-3 分鐘或更短)。

唯一實際複製的文件是最新的增量文件。

我們能想到的唯一解釋是 rysnc 正在執行文件的校驗和——儘管文件說它預設不執行,而且我們沒有在命令上指定 –checksum 開關。確定時間戳和文件大小肯定不能花 2.5 小時?

在瀏覽了文件之後,除了計算校驗和之外,我找不到任何其他解釋。那麼,有沒有辦法確保校驗和被禁用?

也許問題出在文件的時間戳上。如果備份是使用 Windows 程序創建的,它可能會弄亂時間戳。如果我用一堆圖片複製你的樣本,我會得到這個日誌

2011/02/15 03:46:46 [61820] delta-transmission disabled for local transfer or --whole-file
2011/02/15 03:46:46 [61820] .d..t....... ./
2011/02/15 03:46:46 [61820] IMG_0055.JPG is uptodate
2011/02/15 03:46:46 [61820] IMG_0056.JPG is uptodate
2011/02/15 03:46:46 [61820] IMG_0057.JPG is uptodate
2011/02/15 03:46:46 [61820] IMG_0058.JPG is uptodate
2011/02/15 03:46:46 [61820] IMG_0059.JPG is uptodate
2011/02/15 03:46:46 [61820] IMG_0060.JPG is uptodate
2011/02/15 03:46:46 [61820] IMG_0061.JPG is uptodate
2011/02/15 03:46:46 [61820] >f..t....... IMG_0062.JPG
2011/02/15 03:46:46 [61820] IMG_0063.JPG is uptodate
2011/02/15 03:46:46 [61820] IMG_0064.JPG is uptodate
2011/02/15 03:46:46 [61820] IMG_0065.JPG is uptodate
2011/02/15 03:46:46 [61820] IMG_0066.JPG is uptodate
2011/02/15 03:46:46 [61820] total: matches=0  hash_hits=0  false_alarms=0 data=5911343
2011/02/15 03:46:46 [61820] sent 5912367 bytes  received 67 bytes  11824868.00 bytes/sec
2011/02/15 03:46:46 [61820] total size is 75450221  speedup is 12.76

因此每次都會傳輸文件,否則您應該有日誌消息file xxx is uptodate。嘗試使用多個 v 標誌增加 rsync 詳細程度,以了解發生了什麼。

引用自:https://serverfault.com/questions/235534