使用rsync在两台VPS间传输文件

如果你的VPS上有个文件要传到另一个VPS上,最最简单的方法有两种。一个是先下载到本地,然后上传到另一个VPS,这个方法的缺点是速度慢。另一个方法是放到http可以访问的目录下,然后在另一台VPS上使用wget命令下载,这个方法的缺点是操作较为麻烦,需要分别登陆两台VPS,而且无法使用自动脚本。当然还有一个方法,可以克服上面两个方法的缺点,这就是本文要讲的rsync。

rsync介绍

rsync是通过SSH的方法,将VPS上的文件传输到另一台VPS,它需要建立密钥认证。其最大的优点在于,建立了密钥认证以后,只需要在一台VPS操作,就可以实现两台VPS间的数据同步。这个优点主要是针对于自动脚本,这样可以很方便地用于数据定时备份同步。

rsync使用方法

首先假设在VPS1中有个文件/root/file.tar要传到VPS2的home目录中。

1.建立密钥认证

在VPS1中执行

ssh-keygen -t rsa

执行后会提示输入密钥文件输出目录,直接回车使用默认目录即可,然后是询问设定的密码,直接回车两次,表示无密码。

2.上传密钥证书

将刚才生成的密钥证书(默认在/root/.ssh/id_rsa.pub)上传到VPS2的/root/.ssh目录中,并重命名为authorized_keys

3.传输文件

rsync -avz -e ‘ssh -p 22’ /root/file.tar root@vps2.com:/home

上面的命令在VPS1中执行,将/root/file.tar文件上传到VPS2(这里假设域名是vps2.com)的/home目录下。



38 thoughts on “使用rsync在两台VPS间传输文件

发表评论

电子邮件地址不会被公开。 必填项已用*标注