Anonim

rsync实用程序使您可以在PC和外部硬盘驱动器之间传输和同步文件。 您也可以使用它通过局域网将文件发送到所有设备,但要这样做,接收方必须输入正确的密码。 但是,您可以使用一种技巧来使设备同步,而无需使用任何密码。 继续阅读以了解如何使用SSH或SCP命令绕过密码。

另请参阅我们的文章“如何对硬盘或SSD的速度进行基准测试”

如何在不使用密码的情况下进行RSYNC

您可以通过ssh设置rsync,然后无需密码即可使用它。 使用rsync时,此功能非常适合计划cron作业以进行自动备份。 这是解决密码的方法。

首先,您必须在使用现有密码的同时通过ssh测试rsync。

像以往一样执行标准的rsync,以确保要求您在远程服务器上输入密码。 复制一些文件只是为了确保远程服务器正常工作。

使用此示例将本地folder/home/pies与远程folder/backup/pies同步。 使用192.168.188.15服务器命令。

执行此命令后,将提示您在远程服务器上输入帐户密码: rsync -avz -e ssh /home/pies/ :/backup/pies/

下一步是将ssh配置为跳过要求您输入密码的部分。 在本地服务器上使用ssh-keygen命令创建私钥和公钥。 使用以下命令:

$ ssh-keygen
Enter passphrase (empty for no passphrase):
Enter same passphrase again:

注意:提示您输入密码后,只需将该部分保留为空白,然后按Enter。

使用ssh-copy-id将公用密钥复制到您的远程主机。 输入以下命令: ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.188.15

然后将提示您在远程主机上输入密码,并且必须将公共密钥复制到正确的位置。

现在,一切设置完成后,您无需输入密码即可进行rsync。 使用以下命令: ssh 192.168.188.15无需输入密码即可进行rsync。 这是您应该使用的rsync: rsync -avz -e ssh /home/pies/ :/backup/pies/ 。 您还可以自动执行此rsync备份,并使用cron计划它。

Linux中的其他实用Rsync命令

Rsync或Remote Sync可以帮助您快速完成很多工作,其中包括远程复制和同步文件。 这是一些有用的命令,可用于在远程工作时加快处理速度。

在计算机上复制和同步文件

下面的命令将本地计算机上的单个文件从一个位置同步到另一个位置。 将一个名为backup.tar to /tmp/backups/ folder的文件复制backup.tar to /tmp/backups/ folder中,以使其正常工作。

]# rsync -zvh backup.tar /tmp/backups/
created directory /tmp/backups
backup.tar
sent 14.71M bytesreceived 31 bytes3.27M bytes/sec
total size is 16.18Mspeedup is 1.10

上面的示例适用于目标文件夹/目录在rsync中尚不存在并且您想要自动创建目标文件夹/目录的情况。

在计算机上复制和同步目录

下一条命令将所有文件从一个目录同步或传输到同一台计算机上的另一个目录。 这是一个示例: /root/rpmpkts有一些rpm软件包文件,您想将其复制到/tmp/backups/ folder 。 使用以下命令:

]# rsync -avzh /root/rpmpkgs /tmp/backups/
sending incremental file list
rpmpkgs/
rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm
rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm
rpmpkgs/nagios-3.5.0.tar.gz
rpmpkgs/nagios-plugins-1.4.16.tar.gz
sent 4.99M bytesreceived 92 bytes3.33M bytes/sec
total size is 4.99Mspeedup is 1.00

将文件和目录复制到服务器或与服务器同步

使用以下命令将目录从本地服务器复制到远程服务器:

]$ rsync -avz rpmpkgs/ :/home/
's password:
sending incremental file list
./
httpd-2.2.3-82.el5.centos.i386.rpm
mod_ssl-2.2.3-82.el5.centos.i386.rpm
nagios-3.5.0.tar.gz
nagios-plugins-1.4.16.tar.gz
sent 4993369 bytesreceived 91 bytes399476.80 bytes/sec
total size is 4991313speedup is 1.00

它将文件从“ rpmpkgs”文件夹传输到所需的远程服务器。

当您要将文件从远程服务器复制到本地计算机时,请使用以下命令:

]# rsync -avzh :/home/tarunika/rpmpkgs /tmp/myrpms
's password:
receiving incremental file list
created directory /tmp/myrpms
rpmpkgs/
rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm
rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm
rpmpkgs/nagios-3.5.0.tar.gz
rpmpkgs/nagios-plugins-1.4.16.tar.gz
sent 91 bytesreceived 4.99M bytes322.16K bytes/sec
total size is 4.99Mspeedup is 1.00

您可以使用它来同步远程文件或目录,并将其复制到本地计算机。

始终绕过密码和Rsync

如果您经常使用Linux和远程服务器,那么了解这些命令会很有用,因为它们可以帮助您更快地完成工作。 您现在可以使用这些基本命令复制和同步文件。

如何在没有密码的情况下使用rsync