2017-05-19 81 views
0

我正在實現bash腳本,以將我的TimeMachine中的所有備份文件夾同步到同一本地網絡中的NAS存儲。 rsync完成後,我嘗試從NAS到我的TimeMachine進行rsync同步,但失敗。該錯誤消息如下:來自TimeMachine的Rsync備份到NAS沒有同步準確的文件穿孔

rsync: delete_file: unlink 
    "/Volumes/TimeMachine/Backups.backupdb/kongycmac/2017-05-16- 
    120657/Mac OS/usr/share/man/mann/S3.n" failed: Operation not 
    permitted (1) 

後的文件的權限進一步檢查,我意識到,在NAS中的TimeMachine我的備份文件夾和備份文件夾中的文件權限是不同的,如下:

TimaMachine備份:

[email protected] 4 root wheel 136 May 16 12:06 kongycmac 

NAS備份:

drwxr-xr-x 4 root  root   4096 May 12 17:37 2017-05- 
    12-173741 

「@」在TimeMachine Backup文件夾中的含義是什麼?我應該怎麼做才能將NAS備份中的文件夾權限更改爲drwxr-xr-x @?

在這個問題上撓撓我的頭3天,感謝任何人都可以提供一個很好的建議。

回答

0

檢查man page for ls,「長格式」一節中:

如果文件或目錄已經擴展屬性的權限 場由-l選項打印後跟一個「@」字符。

該目錄還將有一個訪問控制列表(通常用「+」表示,但「@」優先)。

您可以使用ls [email protected]查看擴展屬性和ACL。但是你可能無法在NAS上覆制它們 - 存儲各種元數據的能力依賴於文件系統,除非NAS使用Mac OS Extended(又名HFS +)文件系統,否則它可能不支持它們(至少直接)。但是他們可能會被保存 - 如果你使用rsync -E它可能可能將它們存儲在一個單獨的元數據文件中,在文件名中帶有一個「._」前綴。但這將取決於你如何使用rsync,NAS上有什麼,等等。

我不知道ACL對於Time Machine備份有多麼重要(我認爲他們主要是爲了讓人們從搞亂備份系統的結構),但擴展屬性似乎非常重要。如果您希望能夠以TM可以使用的形式獲得TM備份,則需要它們。

但實際上還有另外一個問題:Time Machine使用硬鏈接目錄,我不認爲Mac OS Extended以外的許多(任何?)文件系統都支持這些目錄。這...可能會造成麻煩。

+0

嗨,戈登,謝謝你的建議。試過從我的最後,我認爲根本原因是我的NAS中的rsync版本太舊(3.0.7),它不支持ACL和擴展屬性。我試圖更新NAS中的rsync版本,但似乎沒有安裝yum。有沒有其他方法可以將我的rsync更新到最新版本? –