Articles

como usar o comando rsync para copiar arquivos no Ubuntu

rsync é uma ferramenta para copiar arquivos. o rsync é usado para copiar ficheiros do seu computador para uma máquina remota, de uma máquina remota para o seu computador, de um directório para outro directório no mesmo computador, do seu computador para um disco rígido externo ou partilha de rede, etc. o rsync também pode ser usado para fazer backups incrementais.

neste artigo, vou mostrar-lhe como usar o comando rsync para copiar ficheiros e directórios e fazer cópias de segurança incrementais. Vou usar o Ubuntu para a demonstração. Mas qualquer distribuição Linux moderna deve funcionar muito bem. Então, vamos começar.

instalar o rsync:

o rsync já deve ser instalado no Ubuntu. Mas, se ele não estiver instalado no seu computador, por algum motivo, você pode instalá-lo facilmente a partir do repositório de pacotes oficial do Ubuntu com o seguinte comando:

$ sudo apt install rsync -y

Formato do Comando rsync:

o formato básico do comando rsync é,

$ rsync opções destino fonte
  • fonte pode ser um ficheiro ou uma pasta ou um caminho de rede.
  • destino pode ser um diretório ou um caminho de rede.
  • rsync tem muitas opções. Você pode alterar o comportamento do rsync usando estas opções. Vamos dar uma olhada em algumas das opções mais comuns ao longo do caminho.

Quando você usa rsync, você precisa saber as seguintes coisas:

  • Se você colocar a / após o nome do Diretório na fonte do rsync, como myfiles/, então significa copiar todos os arquivos de dentro do Diretório apenas para o destino.
  • Se você não colocar a / após o nome do Diretório na fonte do rsync, como os meus ficheiros, então o rsync copiará todos os arquivos do diretório para o destino, incluindo o diretório.
  • Se você digitar um caminho de diretório de destino que não existe, então o rsync irá criá-lo automaticamente conforme necessário.

a fazer backup de ficheiros e pastas locais com o rsync:

pode copiar ficheiros de um directório para outro directório do seu computador muito rapidamente com o rsync.

Por exemplo, digamos que você tem alguns arquivos importantes no diretório ~ / Downloads. Agora, você deseja fazer uma cópia de segurança de todos os ficheiros da pasta ~/Downloads para a sua pen drive USB /dev/sdb1 montada na pasta /mnt/myusb.

vamos fazer alguns ficheiros fictícios na pasta ~/Downloads.

$ touch ~/Downloads / test{1..100}

Agora, copie todos os arquivos da pasta ~/Downloads diretório /mnt/myusb diretório com o seguinte comando rsync:

$ rsync -avzh ~/Downloads/ de /mnt/myusb

Os arquivos devem ser copiados.

Como você pode ver, os arquivos estão no diretório /mnt/myusb directory.

Você também pode copiar todo o ~/Downloads diretório para o seu pen drive USB como segue:

$ rsync -avzh ~/Downloads /mnt/myusb

Como você pode ver, todo o diretório é copiado para a unidade USB.

mais uma vez, se você quiser copiar todos os arquivos da pasta ~/Downloads diretório para outro diretório (vamos dizer mydownloads/) no seu pen drive, execute o rsync como segue:

$ rsync -avzh ~/Downloads/ de /mnt/myusb/mydownloads

Como você pode ver, os arquivos são copiados corretamente para o pen drive USB.

Backup Remoto de Arquivos e Diretórios com rsync:

Com o rsync, você pode copiar arquivos e diretórios a partir de um servidor remoto para o seu sistema de arquivos local ou pen drive USB para fins de backup. Você também pode copiar arquivos e diretórios do seu sistema de arquivos local para o seu servidor de backup remoto. o rsync usa o SSH para copiar ficheiros e pastas de/para o servidor remoto.

deverá ter o pacote do servidor SSH (openssh-server no Ubuntu) e o pacote rsync instalado no servidor remoto se quiser usar o rsync para fins de salvaguarda de ficheiros.

Por exemplo, digamos que deseja copiar todo o conteúdo (incluindo o directório) da pasta /www do seu servidor remoto www.example1.com para a sua pen USB montada na localização /mnt/myusb no seu sistema de ficheiros local.

Para fazer isso, você pode usar o seguinte comando rsync:

$ rsync -avzh [email protected]:/www /mnt/myusb

NOTA: Aqui, root é o nome de utilizador remoto, www.example1.com é o nome DNS do servidor remoto e /www é uma localização de diretório no servidor remoto. Você também pode usar o endereço IP do servidor remoto em vez do nome DNS, Se quiser.

Você pode ver a seguinte mensagem se você estiver se conectando ao servidor remoto pela primeira vez. Apenas digite sim e, em seguida, pressione <Enter>.

Agora, escreva a palavra-passe para o utilizador remoto (no meu caso é raiz) e pressione <Enter>.

Todos os arquivos e diretórios dentro de /www diretório, incluindo o diretório /www deve ser copiado para o pen drive USB como você pode ver na imagem abaixo.

Pode também copiar ficheiros do seu sistema de ficheiros local para o seu servidor remoto com o rsync.

no exemplo anterior, você fez uma cópia de segurança do directório /www no servidor remoto. Agora, vamos dizer, alguns dos arquivos no servidor remoto está danificado e você quer recuperá-los do backup.

Para fazer isso, execute o comando rsync da seguinte forma:

$ rsync -avzh /mnt/myusb/www/ [email protected]:/www

Agora, digite a senha do seu servidor remoto e pressione <Enter>.

os ficheiros devem ser copiados do seu sistema de ficheiros local para o servidor remoto.

de Tirar Backups Incrementais com o rsync:

neste tipo de cópia de segurança, os diretórios de origem e destino são mantidos em sincronia. Se qualquer arquivo é adicionado ao diretório de origem, ele é adicionado ao diretório de destino também. Da mesma forma, se qualquer arquivo ou diretório do Diretório de origem for removido, ele é removido do Diretório de destino também.

rsync é uma grande ferramenta para fazer backup incremental.

digamos que tem uma pasta ~ / cloud na pasta pessoal do seu utilizador. Agora, você deseja levar a cópia de segurança incremental da pasta para uma pen USB montada na localização /mnt / usb1 num servidor remoto backup.example.com nota: Você deve ter os pacotes openssh-server e rsync instalados no seu servidor remoto para que isto funcione.

Para tirar cópia de segurança incremental do ~/nuvem, execute o seguinte comando:

$ rsync -avzh –delete –progress ~/nuvem/ [email protected]:/mnt/usb1/backup

Agora, digite a senha para o usuário remoto e pressione <Enter>.

o conteúdo da pasta ~ / cloud deve ser copiado para a pen USB no servidor remoto.

Como você pode ver, todos os arquivos são copiados para o pen drive USB montado no servidor de backup remoto.

Agora, vamos remover um arquivo do sistema de arquivos local e ver o que acontece.

$ rm ~/cloud / packages.txt

Agora, utilizar o rsync para sincronizar os diretórios novamente com o mesmo comando como antes.

$ rsync -avzh –delete –progress ~/nuvem/ [email protected]:/mnt/usb1/backup

Como você pode ver, o arquivo de pacotes.o txt também é removido da pen USB montada no servidor de backup remoto.

para Onde Ir:

pode encontrar mais informações sobre o rsync na página de manual do rsync. A página man do rsync tem uma descrição detalhada de todas as opções do rsync. Recomendo vivamente que verifique isso.

Você pode acessar a página de man do rsync com o seguinte comando:

$ man rsync

Então, é assim que você usar o rsync a cópia de arquivos e tirar backups incrementais no Ubuntu. Obrigado por ler este artigo.