Linux
使用 rsync 進行系統備份時的權限問題
我正在嘗試使用 ssh(或 NFS)將我的 linux 系統(筆記型電腦上的 arch linux)備份到同一網路上的遠端電腦。我廣泛使用 rsync 通過 ssh 和 NFS 將我的 /home 目錄備份到遠端電腦,沒有任何問題。我想要做的是在腳本中在筆記型電腦上執行 rsync 命令,並將 / 的所有內容(當然不包括我已經弄清楚的一些目錄)複製到遠端電腦。
我遇到的問題是關於權限的。我在 ssh 伺服器上禁用了 root 登錄(openssh,在 ubuntu 伺服器 12.04 電腦上執行),我禁用了密碼身份驗證並啟用了 rsa 密鑰登錄,這樣我就可以在筆記型電腦上使用 cron 自動執行備份腳本。現在,為了讓我能夠複製 /*(在筆記型電腦上)下的所有系統文件,我需要以 root 身份執行 rsync。這樣做會帶來一個問題,因為我無法以 root 身份訪問 ssh 伺服器。如果我嘗試通過 NFS 執行此操作,我會遇到另一個權限問題,因為不允許 root 使用者訪問 NFS 掛載,就像我的普通使用者一樣。
我寫在這裡,所以我可以得到關於如何解決這個問題的建議。我寧願通過 ssh 來完成它,因為它通常對我來說工作得更快,但如果沒有其他方法有效,我願意使用 NFS 甚至 samba(沒有嘗試過那個)。
好的,問題是你作為 root 和 root 沒有密鑰。
sudo su
ssh-keygen
然後將密鑰複製到您的備份伺服器。
最後,
rsync
$$ stick your options here $$/user@backup-server:/path/to/backups