Anonim

O utilitário rsync permite transferir e sincronizar arquivos entre o seu PC e um disco rígido externo. Você também pode usá-lo para enviar arquivos através de uma rede local para todos os dispositivos, mas, para fazer isso, a parte receptora deve digitar a senha correta. No entanto, existe um truque que você pode usar para sincronizar seus dispositivos sem usar senhas. Leia para saber como ignorar a senha usando comandos SSH ou SCP.

Consulte também o nosso artigo Como comparar a velocidade do seu disco rígido ou SSD

Como RSYNC sem usar uma senha

Você pode configurar seu rsync sobre ssh e usá-lo sem uma senha. O recurso é ótimo para agendar tarefas cron para backup automático ao usar o rsync. Aqui está como você pode solucionar a senha.

Primeiro, você deve testar o rsync sobre ssh enquanto usa uma senha existente.

Faça um rsync padrão como você faz o tempo todo para garantir que você seja solicitado a digitar sua senha no servidor remoto. Copie alguns arquivos apenas para garantir que o servidor remoto esteja funcionando.

Use este exemplo para sincronizar sua folder/home/pies local folder/home/pies com a folder/backup/pies remota folder/backup/pies . Use o comando do servidor 192.168.188.15.

Depois de executar este comando, você será solicitado a inserir a senha da sua conta no servidor remoto: rsync -avz -e ssh /home/pies/ :/backup/pies/

O próximo passo é configurar o ssh para pular a parte em que ele solicita sua senha. Use o comando ssh-keygen no servidor local para criar chaves públicas e privadas. Use o seguinte comando:

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

NOTA: Depois que você for solicitado a digitar uma senha, deixe a seção em branco e pressione Enter.

Copie a chave pública para seu host remoto usando ssh-copy-id . Digite o seguinte comando: ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.188.15

Você será solicitado a digitar a senha no host remoto e precisará copiar a chave pública no local correto.

Agora, quando tudo estiver configurado, você estará pronto para sincronizar novamente sem uma senha. Use este comando: ssh 192.168.188.15 para rsync sem inserir sua senha. Aqui está o rsync que você deve usar: rsync -avz -e ssh /home/pies/ :/backup/pies/ . Você também pode automatizar esse backup rsync e agendá-lo com o cron.

Outros comandos práticos do Rsync no Linux

O Rsync ou Remote Sync pode ajudá-lo a realizar muitas tarefas rapidamente, e isso inclui copiar e sincronizar arquivos remotamente. Aqui estão alguns comandos úteis que você pode usar para acelerar as coisas ao trabalhar remotamente.

Copiar e sincronizar arquivos em um computador

O comando abaixo sincronizará um único arquivo no seu computador local de um local para outro. Copie um arquivo chamado backup.tar to /tmp/backups/ folder para que ele funcione.

]# 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

O exemplo acima é para situações em que a pasta / diretório de destino ainda não existe no rsync e você deseja criar um automaticamente.

Copiar e sincronizar diretórios em um computador

O próximo comando sincronizará ou transferirá todos os arquivos de um diretório para outro no mesmo computador. Aqui está um exemplo: /root/rpmpkts possui alguns arquivos de pacote rpm e você deseja copiá-lo para a /tmp/backups/ folder . Use o seguinte comando:

]# 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

Copiar e sincronizar arquivos e diretórios de / para um servidor

A cópia de um diretório do servidor local para um servidor remoto é feita usando o seguinte comando:

]$ 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

Ele transferirá os arquivos da pasta "rpmpkgs" para o servidor remoto que você deseja.

Quando você deseja copiar arquivos de um servidor remoto para sua máquina local, use este comando:

]# 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

Você pode usá-lo para sincronizar um arquivo ou diretório remoto e copiá-lo para sua máquina local.

Ignore a senha e Rsync de qualquer maneira

Se você usa muito o Linux e um servidor remoto, é útil conhecer esses comandos, pois eles podem ajudá-lo a fazer as coisas muito mais rapidamente. Agora você pode copiar e sincronizar arquivos com esses comandos básicos.

Como usar o rsync sem senha