Ssh

使用 Rsync 備份遠端 VPS

  • October 26, 2017

我有一個我們將很快關閉的 VPS,所以我想創建一個完整的備份。我在考慮 rsync,因為如果我 google linux 和備份的話,我經常被 rsync 擊中,那為什麼不呢。:) 然而,踢球者來了。

我要在其中備份 VPS 的備份機器無法從 Internet 訪問。所以我不能只使用幾乎每個人都建議通過 SSH 連接到 VPS、sudo rsync 幾乎所有內容並將備份伺服器作為輸出標記。我想執行一個類似於 dd 的 bash 命令,所以如果我在遠端伺服器上執行 rsync,我可以將我的本地文件夾標記為輸出。另外我不得不提一下,root ssh 登錄是不允許的,所以我只能作為一個可以真正變成 sudo 的使用者 SSH 進入 VPS,但預設情況下它只是一個普通使用者。

我想出了以下 rsync 命令:

sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /* /backup/machine/folder

我希望以某種方式使用它,就像我用於複製的 dd 命令一樣,但相反:

dd if=/dev/sda bs=4096 | pv | ssh root@<<TargetServer-IP>> ”dd of=/dev/sda bs=4096”

我喜歡在這裡發布問題,因為其中大約 50% 是我自己回答的。我通常需要幾個小時來決定將問題上傳到這裡,然後在靜音幾個小時後,我得到了答案。:) 這是命令:

rsync --dry-run root@omd.myserver.hu:/ -aAXvh --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} /backup/backup/servers/omd

如果您想執行 OFC,請從命令中排除 –dry-run。此外,您必須將您的 SSH 公鑰添加到 /root/.ssh/authorized_keys 文件才能使這項工作。

引用自:https://serverfault.com/questions/880416