不少站长都在问每次 rsync 同步复制的时候都需要输入一次 SSH 的 root 密码很麻烦,
并且这样也不能在定时任务里运行,这就不科学了,
其实,rsync 有不少方法实现免密运行的,
今天就给大家分享一个更适合我们在服务器之间同步复制的 rsync 免密运行的方法。
免密免密登入同步复制数据原理
原理其实很简单就是为 rsync 在两个服务器之间专门创建一对密钥即可免密在两个服务器之间免密运行 rsync 了,
并且实测发现 rsync 同步的速度也有了大幅的提升,一个 2-3G 的站点文件仅仅需要十几分钟后就完全同步复制完成了,
注意哦,这可是首次同步复制呀,
后期的增量同步复制几乎就是秒同步了。
操作步骤:
首先,我们要在备份服务器上生成密钥文件,具体命令如下:
ssh-keygen
然后回车一直回车直到密钥生成即可,如下图所示:

然后,我们复制这个密钥到要 rsync 远程连接的服务器上,具体命令如下:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.1
注意替换上述命令最后的 IP 地址为要 rsync 远程连接的服务器IP
这时候是需要输入yes确认一下,然后输入一次要 rsync 远程连接的服务器 root 密码
并回车确认即可将密钥复制到这个服务器上了。
至此,你就可以免密通过 rsync 安全高效的
同步复制远程服务器上的文件到备份服务器上指定位置了。
备份网站数据大功告成。