Linux

如果重命名文件名,則重複性會重新發送所有數據

  • November 18, 2020

讓我們創建一個test/包含隨機 1 GB 文件的目錄: ,然後使用duplicityhead -c 1G </dev/urandom >test/1GBfile進行備份:

duplicity test/ file:///home/www/backup/

然後/home/www/backup/包含一個加密存檔,大約需要 1 GB。

然後讓我們添加一個幾個字節的新文件:echo "hello" >test/hello.txt,並重做備份:

duplicity test/ file:///home/www/backup/

仍然是backup/〜1 GB。與增量備份一樣,只創建了幾個小於 1 KB 的文件。

現在讓我們重命名 1 GB 文件:並重mv test/1GBfile test/1GBfile_newname做增量備份

duplicity test/ file:///home/www/backup/

然後backup/是現在〜2 GB!.

為什麼不duplicity考慮它是具有新名稱的相同文件內容這一事實?

在這裡,如果我們使用網路,即使文件內容完全相同,我們也會浪費 1 GB 的傳輸。duplicity使用rsync通常會解決此問題的使用者,是否有避免此問題的選項?


添加 .txt 文件後的日誌:

--------------[ Backup Statistics ]--------------
StartTime 1605543432.43 (Mon Nov 16 17:17:12 2020)
EndTime 1605543432.72 (Mon Nov 16 17:17:12 2020)
ElapsedTime 0.29 (0.29 seconds)
SourceFiles 3
SourceFileSize 1073745926 (1.00 GB)
NewFiles 2
NewFileSize 4102 (4.01 KB)
DeletedFiles 0
ChangedFiles 0
ChangedFileSize 0 (0 bytes)
ChangedDeltaSize 0 (0 bytes)
DeltaEntries 2
RawDeltaSize 6 (6 bytes)
TotalDestinationSizeChange 230 (230 bytes)
Errors 0
-------------------------------------------------

文件重命名後的日誌:

--------------[ Backup Statistics ]--------------
StartTime 1605543625.97 (Mon Nov 16 17:20:25 2020)
EndTime 1605543840.72 (Mon Nov 16 17:24:00 2020)
ElapsedTime 214.76 (3 minutes 34.76 seconds)
SourceFiles 3
SourceFileSize 1073745926 (1.00 GB)
NewFiles 2
NewFileSize 1073745920 (1.00 GB)
DeletedFiles 1
ChangedFiles 0
ChangedFileSize 0 (0 bytes)
ChangedDeltaSize 0 (0 bytes)
DeltaEntries 3
RawDeltaSize 1073741824 (1.00 GB)
TotalDestinationSizeChange 1080871987 (1.01 GB)
Errors 0
-------------------------------------------------

TotalDestinationSizeChange 1080871987 (1.01 GB),啊!該文件剛剛被重命名

似乎duplicity確實沒有“處理重命名”,請在此處查看此專欄:https ://wiki.archlinux.org/index.php/Synchronization_and_backup_programs#Chunk-based_increments

由於duplicity使用librsync不“處理重命名”),這似乎很正常。

引用自:https://unix.stackexchange.com/questions/619938