Rat's Blog

通过SSH使用Rsync同步两个VPS的文件

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »

假设:A服务器为源服务器,B服务器为目标服务器,需要把A服务器数据同步到B服务。

1、使用SSH登录A服务器,创建无密码的公共SSH keys

ssh-keygen -f ~/.ssh/id_rsa -q -P ""
cat ~/.ssh/id_rsa.pub

得到公共SSH key,似如下代码:

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyISE0v+WzNz4kNcyoVGdcuVKamoq8GbEE/jFefWu47urdYEGuowb6Dt+nJl9ZoaSGNknkoUrzICKbxA0NFsJZL4GrRRAsI54UKo5ggUWek17ald1KmohfezF5BJ8DiPPcq5sZmtg18L6uhMk7sQuwMpUTpuy7YQtuGi2xz9Xh+E/mt7+JNGmI6NsqifTd7SIUNCR5lHd/VVTdNxTAArO8vffuNn5GCenBlfilugKGlehcdV7dJTYXwPtuSdTTocwDBYHTPVtTVBmtpG0882QMr7J2iOpIA2jTNl7jY5mUfV+SYOlcRMSlxhs2W/rtfcytSdv4m8hjwSTQANF1xtSxQ== root@weilai

2、使用SSH登录B服务器
创建authorized_keys文件,存储A服务器的公共SSH key。如果没有authorized_keys文件,则创建此文件。

mkdir ~/.ssh
chmod 0700 ~/.ssh
touch ~/.ssh/authorized_keys
chmod 0644 ~/.ssh/authorized_keys

编辑authorized_keys文件:

vi ~/.ssh/authorized_keys,按i,粘贴A服务器的公共SH key,之后按esc,:wq保存退出。

3、实战,同步文件
把A服务器(108.55.22.33) /home/wwwroot/xx.zip 同步到 B服务器(104.33.22.11)同样目录下。
使用SSH登录A服务器(108.55.22.33):

rsync -avz -e "ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null" --progress /home/wwwroot/xx.zip 104.33.22.11:/home/wwwroot/

原文地址:digitalocean