1. 程式人生 > 其它 >rsync+ssh同步備份檔案

rsync+ssh同步備份檔案

定期對web程式碼或重要的檔案做同步異地伺服器備份,防止伺服器故障嚴重磁碟損壞時檔案丟失的問題。


備份伺服器:192.168.200.134

目標伺服器:192.168.201.65


rsync同步命令:

rsync -avz -e 'ssh -p <ssh埠,預設是22>' <本地待備份目錄> 192.168.200.134:<目標目錄>

會提示需要輸入遠端伺服器登陸賬號的密碼才可以執行下去,為了免密碼輸入而可以定期自動讓其執行,需要配置ssh免密登陸方式;


備份伺服器本地執行 ssh-keygen -t rsa 命令,生成ssh rsa私鑰 id_rsa 和公鑰id_rsa.pub


然後copy id_rsa.pub到目標伺服器賬號home目錄下得.ssh目錄,如果沒有請建立.ssh目錄;


然後在目標機賬號home目錄下得.ssh目錄,執行

cat id_rsa.pub > authorized_keys

chmod 600 authorized_keys

完成操作後,在備份伺服器192.168.201.65上嘗試執行ssh 登陸操作看是否不再需要密碼即可登陸:

ssh -p <ssh埠,預設22> 192.168.200.134

:?:如果不需要提示輸入密碼即可登陸到134伺服器,則表示完成ssh免密碼登陸功能。


然後在65伺服器上執行rsync同步檔案命令也不再需要提示輸入密碼即可同步完畢。


最後,我們再新增crontab定時任務,讓rsync同步備份檔案操作每天23點執行一次備份:


crontab -e

在最後面新增一行定時任務設定:


0 23 * * * rsync -avz -e 'ssh -p <ssh埠,預設是22>' <本地待備份目錄> 192.168.200.134:<目標目錄> > /dev/null 2>&1