2015-07-05 53 views
0

我使用rsync來備份我的文件。我選擇rysnc,因爲它(應該)使用修改時間來確定是否進行了更改以及是否需要更新文件。rsync不會複製*僅限*修改

我開始我的備份(從我的計算機系統(Debian的)到便攜式外置硬盤驅動器)使用此命令:

rsync -avz --update --delete --stats --progress --exclude-from=/home/user/scripts/ExclusionRSync --backup --backup-dir=/media/user/hdd/backups/deleted-files /home/user/ /media/user/hdd/backups/backup_user 

它運作良好,並花了大量的時間。我相信第二次會很快(因爲我沒有修改文件)。不幸的是,第二,第三,第四,...次與第一次一樣長。即使這些文件已存在於我的便攜式硬盤中,我仍然可以看到所有文件都被複制。

我不明白爲什麼rsync不只複製修改(rsync已知是有效的,只複製更改,我特別呼叫--update選項)。

這個問題的一個副作用是所有的文件一旦被傳輸,它們就會被移動到我的備份目錄(被刪除的文件)。事實上,rsync在每次更新之前刪除之前的文件以複製同一文件...

回答

1

我發現解決方案的讀數爲an answer on Serverfault.SE。在FAT文件與時間戳搞亂:

FAT不上的文件跟蹤修改時間儘可能準確地,說 EXT3(FAT只精確到2秒窗口內)。這導致 與rsync特別討厭的行爲,因爲它有時會決定 原始文件比備份文件新或舊 足以使其需要重新複製數據或至少重新檢查 散列。總而言之,它會使備份的性能非常差。如果 你必須堅持使用FAT,查看rsync的--size-only和 - 修改窗口標誌作爲解決方法。