rsync - Cópia, Sincronização e Backup de arquivos no Linux
Índice:
Quando se trata de transferir arquivos entre sistemas na rede, os usuários de Linux e Unix têm muitas ferramentas à sua disposição.
Os protocolos mais populares para transferência de dados são SSH e FTP. Embora o FTP seja muito popular, sempre prefira usar o SSH, pois é a maneira mais segura de transferir seus arquivos.
Existem ferramentas especializadas para transferência de arquivos via SSH, como
scp
e
sftp
mas nenhuma delas possui todos os recursos que o
rsync
fornece.
rsync
pode ser usado para espelhar dados, backups incrementais, copiar arquivos entre sistemas e assim por diante.
Neste tutorial, explicaremos como copiar arquivos com o
rsync
sobre SSH.
Exigências
-
O utilitário
rsyncdeve ser instalado nos sistemas de destino e de origem. Se não estiver instalado, você poderá instalá-lo usando o gerenciador de pacotes da sua distribuição:Ubuntu e Debian:
sudo apt install rsyncCentOS e Fedora:
sudo yum install rsyncAcesso SSH ao computador remoto.
O usuário executando o comando
rsynce o usuário SSH remoto devem ter permissões apropriadas para ler e gravar arquivos.
Usando o
rsync
para transferir arquivos por SSH
Com o
rsync
, você pode transferir arquivos e diretórios via SSH de e para servidores remotos.
A sintaxe geral para transferir arquivos com o
rsync
é a seguinte:
Local to Remote: rsync… -e ssh… HOST:DEST Remote to Local: rsync… -e ssh HOST:SRC…
Onde
SRC
é o diretório de origem,
DEST
é o diretório de destino
USER
é o nome de usuário SSH remoto e
HOST
é o host SSH remoto ou o Endereço IP.
As versões mais recentes do rsync são configuradas para usar o SSH como shell remoto padrão, para que você possa omitir a opção
-e ssh
.
Por exemplo, para transferir um único arquivo
/opt/file.zip
do sistema local para o diretório
/var/www/
no sistema remoto com IP
12.12.12.12
você deve executar:
rsync -a /opt/file.zip [email protected]:/var/www/
A opção
-a
representa o modo de arquivamento, que sincroniza diretórios recursivamente, transfere dispositivos especiais e de bloco, preserva links simbólicos, tempos de modificação, grupo, propriedade e permissões.
Se o arquivo existir no servidor remoto, ele será substituído. Se você deseja salvar o arquivo com um nome diferente, especifique o novo nome:
rsync -a /opt/file.zip [email protected]:/var/www/file2.zip
Para transferir dados de um controle remoto para uma máquina local, use o local remoto como origem e o local local como destino:
rsync -a [email protected]:/var/www/file.zip /opt/
Transferir diretórios com o
rsync
sobre SSH é o mesmo que transferir arquivos.
É importante saber que o
rsync
fornece tratamento diferente aos diretórios de origem com uma barra
/
final. Quando o diretório de origem tem uma barra à direita, o
rsync
copiará apenas o conteúdo do diretório de origem no diretório de destino. Quando a barra final é omitida, o diretório de origem será copiado dentro do diretório de destino.
Por exemplo, para transferir o diretório local
/opt/website/images/
para o diretório
/var/www/images/
em uma máquina remota, digite:
rsync -a /home/linuxize/images/ [email protected]:/var/www/images/
Use a opção
--delete
se desejar sincronizar o diretório local e remoto. Tenha cuidado ao usar esta opção, pois ela excluirá os arquivos no diretório de destino, se eles não existirem no diretório de origem.
rsync -a --delete /home/linuxize/images/ [email protected]:/var/www/images/
Se o SSH no host remoto estiver escutando em uma porta que não seja a padrão
22
, especifique a porta usando a opção
-e
. Por exemplo, se o SSH estiver escutando na porta
3322
você usaria:
rsync -a -e "ssh -p 3322" /home/linuxize/images/ [email protected]:/var/www/images/
Ao transferir grandes quantidades de dados, é recomendável executar o comando
rsync
dentro de uma sessão de tela ou usar a opção
-P
que diz ao
rsync
para mostrar uma barra de progresso durante a transferência e manter os arquivos parcialmente transferidos:
rsync -a -P /home/linuxize/images/ [email protected]:/var/www/images/
Conclusão
Mostramos como usar o
rsync
sobre SSH para copiar e sincronizar arquivos e diretórios.
Você também pode ler como excluir arquivos ou diretórios com o
rsync
.
Sinta-se livre para deixar um comentário se tiver alguma dúvida.
terminal rsyncUpload de arquivos e imagens: Envie arquivos para vários sites de hospedagem de arquivos
Arquivo e Image Uploader serão redimensionados automaticamente, upload de 1 ou mais arquivos para um único ou vários sites de hospedagem de arquivos com apenas um clique.
Es explorador de arquivos vs google arquivos ir: gerenciamento de arquivos melhor
Confuso entre o ES File Explorer e o Google Files Go para o seu telefone Android? Leia a nossa comparação detalhada para conhecer o melhor aplicativo de explorador de arquivos para você.
Como excluir arquivos e diretórios com o rsync
Com o Rsync, você pode espelhar dados, criar backups incrementais e copiar arquivos entre sistemas. Ao copiar dados, você pode excluir um ou mais arquivos ou diretórios com base em seus nomes ou locais. Neste tutorial, mostraremos como excluir arquivos e diretórios com o rsync.







