rsync 從 linux 主機到 fat32
我喜歡將我的基於 linux 的 NAS(像 picutres 之類的小文件)備份到帶有 FAT32 的附加 USB 磁碟上。為此,我喜歡使用 rsync。
我知道,預設情況下這將無法正常工作。rsync 將一次又一次地同步文件。我找到了這個問題和答案:How can I use rsync with a FAT file system?
但是,即使我使用
--modify-window=1
and--size-only
選項,所有文件都會再次處理。日誌看起來像,rsync 嘗試在 fat32 上設置權限/所有權,這將失敗。rsync: chown "<filename>" failed: Operation not permitted (1)
問題是:有沒有辦法禁用“chown”命令?
//編輯:
目前我使用以下命令:
rsync -a --modify-window=1 --size-only /data/ /mnt/backup/. &
只是不要使用同步所有者/組的選項。如果您使用
--archive
/-a
選項,這包括這兩個,因此請單獨指定標誌並將它們排除在外。檢查手冊頁以獲取--archive
含義列表。
我一直在試圖弄清楚如何防止 rsync 每次都複製每個文件,很長一段時間都沒有成功。但我剛剛偶然發現了答案。這是一個 FAT32 短文件名問題;顯然,預設情況下,Linux 將它們全部轉換為小寫,這會破壞 rsync 看到它是源和目標上相同文件的能力。
解決方案是使用“shortname=mixed”選項安裝 FAT32 設備。我相信您還需要使用 utf8 字元集,例如 ‘iocharset=utf8’。然後使用參數執行 rsync:-rtv –modify-window=1
在 Debian with Trinity 上,我可以右鍵點擊桌面上 FAT32 分區的圖示,屬性/安裝,將短名稱設置為混合,並確保選中 UTF-8 字元集。希望有一種方法可以將這些設置為所有 FAT32 分區的預設值,但我還沒有找到。