Linux
使用 rsync 將文件從一台伺服器複製到另一台伺服器,涉及使用者和權限
我正在使用
rsync
.如果我使用從伺服器
rsync -a
鏡像/uploads
目錄A
到伺服器B
,我是否可以期望使用/uploads
伺服器上文件B
(例如,Nginx 等)的程序能夠像在伺服器上那樣執行A
,假設我已經創建了具有相同名稱和權限的使用者在伺服器上B
,還是我以後會遇到我可能剛剛忽略的微妙問題?那麼,複製具有保留所有權和權限的文件目錄是否可以在類似機器之間互操作,或者它是否會通過 UID 複製所有權,因此當我碰巧以不同的順序創建使用者時會搞砸一切,等等?執行此操作時是否還有其他考慮因素,或者您對處理這種備份的更好方法有什麼建議rsync
?
在大多數情況下,這將按預期工作,但
-a
不會複製擴展屬性 (-X
)、ACL (-A
) 和硬連結 (-H
),因此如果您的文件使用這些,請添加這些參數。注意:權限將根據數字 UID 和 GID 而不是文本名稱複製。如果這些在目標伺服器上不匹配,您顯然可能會遇到問題。
我認為你有兩條路要走。首先,您應該在兩台伺服器中創建具有相同 UID 和 GID 的使用者和組,這樣您以後就不會感到意外了。其次,一旦 rsync 完成,您應該以訪問主伺服器的所有方式真正訪問備份伺服器:嘗試 httpd、郵件、文件等,並檢查它是否按預期工作。