rsync + ssh 可以做簡單又快速的備援,
做法很簡單:
- 先 gen key (參考 ssh-keygen)
查一下另一邊的 Server 是否有啟動 rsync 服務如果沒啟動 => /etc/init.d/rsync start (或 /etc/default/rsync 設定開機啟動)- 確認 Server 和 Client 都有 rsync (ssh session會自己執行rsync --server以便兩端算簽章
- 指令1 - 遠端 備份回 本端:
rsync -avl --delete -e ssh server_hostname:/var/lib/mysql/ /backup/
- 指令2 - 本端 傳送到 遠端:
rsync -avl --delete -e ssh /var/lib/mysql server_hostname:/backup/
這樣子就完成囉. 感謝 Mango 大大指導.
若要詳細的可見以下連結:
其實使用rsync over ssh
收檔案的那一端不用跑rsync --daemon。因為在client端啟動的時候,會利用ssh session執行rsync --server以便兩端算簽章。
可以利用參數觀察到每次執行rsync over ssh時,詳細執行的狀況。
不過就算不跑rsync --daemon,兩端都還是得裝rsync,不然是會失敗的。
若是跑 rsync --daemon,則可以用/etc/rsyncd.conf設定相對路徑,這樣對方把檔案送過來就不用直接指明相對路徑(不過這個模式下是沒有像rsync over ssh那樣有加密)
非常感謝您的指導, 小弟今晚馬上測試看看, 再修正此篇文章 🙂