
概括:
我使用以下設定透過 rsync 將 Synology NAS 上的資料備份到遠端磁碟。
- 首次備份本機:在 Synology NAS 上初始化的 rsync 到磁碟(安裝在 NAS 上)。
- 未來的遠端備份:在 Mac 上初始化到磁碟的 rsync,現在安裝在遠端位置的 Mac 上。
問題:我得到了帶有特殊字元的所有資料(文件或資料夾)的兩份副本。
問題:有沒有辦法使用相同的基本流程(先透過 NAS 本地備份,透過 Mac 休息,使用 rsync)而不會出現上述問題?
比賽狀態: 下面的內容比較長,有兩處修改,雖然進一步分析了問題,但還沒解決。
詳細描述:
我有一個已經持續多年的設置。事實上,自從我設法解決了最初的特殊字元問題(詳細資訊在這裡),之後我在 mac 上對 rsync 使用“--iconv=utf-8-mac,utf-8”選項。設定是這樣的:
地點 1:Synology NAS
位置 2(在遙遠的星系中):帶有外部磁碟的 Mac(Mac OS Journaled)
任務:Mac 上的 rsync 作業將資料夾從 NAS(位置 1)拉到外部磁碟(位置 2)。
我現在計劃在位置 2 上設定一個新磁碟(也是 Mac OS Journaled)。
位置 1:透過 USB 的神奇功能,將新磁碟插入 NAS。
位置1:透過NAS上的rsync作業將資料推送到新磁碟
前往遙遠的星系,我們這裡稱之為位置 2
位置 2:從 Mac 初始化有限的 rsync 拉取作業,現在已插入新磁碟。
問題:由於某種原因,步驟(4)沒有在 2 秒內完成,沒有任何變化,而是開始抱怨“文件已消失:…[指定文件位置]”,因為一堆文件。然後它開始將資料夾和檔案複製到磁碟 - 即使它們已經在那裡了! 70 GB 後,據我所知,它對名稱中含有特殊字元的所有資料夾進行了完全冗餘的副本(以及對名稱中沒有特殊字元的資料夾中名稱中含有特殊字元的所有檔案進行了冗餘餘副本)他們的名字)。例如:
drwxrwxrwx 5 _unknown _unknown 170 Aug 7 2013 Pippi Långstrump-Pippi i Söderhavet
drwxrwxrwx 5 _unknown _unknown 170 Aug 7 2013 Pippi Långstrump-Pippi i Söderhavet
這兩個資料夾看起來完全相同,但它們作為兩個不同的資料夾並排列出來。如果我使用 Mac GUI,我可以輸入它們中的每一個並看到它們包含相同(質量相同)的三個軌道(我什至不知道如何使用命令列將它們分開,但使用 GUI 我可以直觀地看到我“輸入”不同的資料夾)。而且它們不僅僅是虛擬的,因為資料子集的總大小從 64 GB 增加到 82 GB。
發生了什麼事?在我未經訓練的眼睛看來,在 Mac 上初始化的 rsync 進程似乎無法「看到」NAS 上的來源檔案已經存在於目標磁碟上,並將它們再次放在那裡。當 mac 終端機顯示檔案和資料夾名稱時,它顯然使用相同的符號,但它仍然必須將它們解釋為不同的“下面”,否則檔案系統將不允許這樣做。
現在,這還不是全部。當我嘗試使用 --delete 選項讓系統僅保留一個特殊字元資料夾/檔案時,一切都會發生。資料夾確實被刪除了,但新資料夾是副本,最終我仍然坐在重複的資料夾中,子集中有 82 GB,而不是 64 GB。
這是怎麼回事?
9月11日編輯:明智的Tomáš Pospíšek(我想,他很熟悉特殊字符;)建議我“深入了解”,因此我使用了他的命令(在Ronja 上而不是Pippi 上,因為我有太多不同的Pippi 資料夾) 。一個簡單的「ls -l」給了我:
drwxrwxrwx 2 _unknown _unknown 68 Aug 7 2013 Ronja Rövardotter
drwxrwxrwx 2 _unknown _unknown 68 Aug 7 2013 Ronja Rövardotter
然而
sh-3.2# ls -l Ronja* | hexdump -C
結果是:
00000000 52 6f 6e 6a 61 20 52 6f cc 88 76 61 72 64 6f 74 |Ronja Ro..vardot|
00000010 74 65 72 3a 0a 0a 52 6f 6e 6a 61 20 52 c3 b6 76 |ter:..Ronja R..v|
00000020 61 72 64 6f 74 74 65 72 3a 0a |ardotter:.|
或者,如果我稍微整理一下:
52 6f 6e 6a 61 20 52 6f cc 88 76 61 72 64 6f 74 74 65 72 3a 0a 0a |Ronja Ro..vardotter:..
52 6f 6e 6a 61 20 52 c3 b6 76 61 72 64 6f 74 74 65 72 3a 0a |Ronja R..vardotter:.
換句話說,它們並不相同,只是表面上是如此。
感謝那。但我該怎麼辦呢?有沒有辦法格式化磁碟(例如區分大小寫的 Journaled),以便 NAS 和我的 Mac 都可以正確寫入磁碟?或者是否沒有辦法硬著頭皮,即將磁碟連接到本地Mac(位置1)並透過乙太網路進行第一次備份?與 USB 3 連接相比,這將花費很長時間,但至少備份可以在本地和遠端進行「mac 解釋」。你有什麼建議?
9月14日編輯:樂於助人的 Tomáš 進一步建議(透過下面的評論)我應該嘗試 rsync 名稱中包含特殊字元的單一文件,看看會發生什麼(他建議了一種解決方法)。不幸的是,發生的情況是,我在目標磁碟上留下了兩個名稱看似相同的文件,但是,當十六進位轉儲時,您可以看到它們的編碼不同。我的問題是我似乎無法正確刪除這兩個文件。也就是說,當我“rm”刪除它們以便沒有文件可見時(“ls -l”沒有列出它們),我仍然可以在 Mac Finder 中看到這些文件(或資料夾;同樣)。即使我重新啟動系統等,也會發生這種情況,因此不知何故,Mac Finder 可以顯示文件訊息,即使它們沒有從命令列表中出現。
此時,我有點認輸了,採取了簡單的簡單擦除磁碟的懦弱解決方案,然後返回通過 mac 和相同的 rsync 命令提取初始站點(位置 1)上的資料。從傳輸角度來看,這花了更長的時間,但直接「解決」了問題。我現在已經把一切都設定好了,一切都像發條一樣運作。
儘管如此,這樣的問題還沒有解決。也就是說,我想知道如何:
- 透過在 NAS 上初始化的 rsync 進程,將資料從 Synology NAS 推送到外部磁碟(Mac OS Journaled,安裝在 NAS 上)
在安裝磁碟的Mac 上使用 rsync 指令在外部網站上備份資料。
如果有人知道,請回答問題,我將立即將您標記為問題解決者(和英雄)!
注意:這個問題現在就像一個「我去年夏天做了什麼」的故事,所以我重寫了上面的摘要,以便潛在的問題解決者可以改變對核心問題的了解。