Command-Line
rsync 雙向完成,但目錄大小不同。怎麼可能?
我想同步 2 個目錄 (
/src
&/dst
) 以鏡像它們中的所有文件。這是一個步驟:
sudo rsync -vaP --stats /src /dst
-> 完成沒有錯誤sudo rsync -vaP --stats /dst /src
-> 完成沒有錯誤diff -rq /src /dst
-> 不顯示任何差異。du -s /src && du -s /dst
顯示不同的尺寸(10% 差異)。怎麼可能?我完全陷入了這個困境。
-S
不使用該標誌時,稀疏文件可能會在複製時展開。(會使目的地佔用更多空間)-H
當不使用該標誌時,樹中的硬連結可以擴展為複制時的單獨文件。(會使目的地佔用更多空間)- 文件系統可能有不同的分配大小。一個單字節文件在一個文件系統上可能會佔用 512 字節的磁碟分配空間,而在另一個文件系統上可能會佔用 4096 字節(甚至更多)。如果你的樹有很多小文件,這將產生很大的不同。(目的地可能會佔用更多或更少的空間,具體取決於具體情況)
- 目錄可能比在某些文件系統上保存目前內容所需的要大得多。複製內容時,目標目錄將變小。通常沒什麼大不了的,但一些病態目錄可能是巨大的。(將使目的地佔用更少的空間)
文件系統也可能具有不同的壓縮/重複數據刪除/冗餘設置,從而導致對數據的不同儲存要求。但這不太常見,即使存在差異,也並不總是可以通過
du
.