Não arrisque a perda de dados. Faça backup de seus valiosos dados da linha de comando do Linux. Estaremos usando o rsync
comando para isso, e até encontramos algumas interfaces gráficas opcionais agradáveis para ele.
Existem muitas maneiras de fazer uma cópia de backup de seus arquivos. Queríamos mostrar a você uma maneira robusta, flexível e confiável de proteger seus dados. Nós escolhemos rsync
por causa de seus algoritmos respeitados que calculam as diferenças entre os arquivos no diretório de origem e no diretório de destino. Apenas as diferenças entre duas versões de um arquivo são transferidas, não o arquivo inteiro, se isso puder ser evitado.
Quando essa eficiência é combinada com seu sólido histórico na execução de cópias de arquivos e sincronizações de diretório desde meados da década de 1990, rsync
é um candidato perfeito para a criação de backups a partir da linha de comando do Linux.
Além disso, existem programas de software independentes que atuam como front-end para rsync
. Eles fornecem interfaces gráficas de usuário (GUIs) para as rsync
quais algumas pessoas podem achar mais fácil de usar.
Quanto mais simples e rápido for fazer um backup, maior será a probabilidade de você fazer isso.
Índice
Usando rsync com um disco rígido externo
Para fazer uma cópia de backup de seus dados em um disco rígido externo, o disco rígido deve estar montado e acessível a você. Se você pode escrever para ele, então também pode rsync
. Neste exemplo, um disco rígido externo USB denominado SILVERXHD (para “Silver eXternal Hard Drive”) está conectado ao computador Linux. Ele foi montado automaticamente pelo sistema operacional.
Você precisará saber o caminho para a unidade. No GNOME, abra o navegador de arquivos Nautilus e localize o nome da unidade na barra lateral.
Passe o ponteiro do mouse sobre o nome da unidade externa e uma dica de ferramenta mostrará o caminho para a unidade.
Neste exemplo, a dica de ferramenta nos informa que o ponto de montagem para o sistema de arquivos na unidade externa é “/ media / dave / SILVERXHD.”
Se o seu navegador de arquivos não fizer isso, navegue até a unidade externa e abra uma janela de terminal nesse local. Use o pwd
comando para imprimir o caminho para a janela do terminal.
Copiando o conteúdo do diretório de origem
Para usar rsync
para copiar o conteúdo de um diretório para o destino de backup, use o seguinte comando.
A -r
opção (recursiva) faz rsync
com que todos os subdiretórios aninhados e seus conteúdos sejam copiados. Observe que há uma barra “/” no final da palavra “SILVERXHD”, mas ela passou para a próxima linha na captura de tela.
rsync -r / home / dave / Documentos / / media / dave / SILVERXHD /
A cópia do arquivo ocorre e você retorna ao prompt da linha de comando.
Se olharmos para a unidade USB externa, vemos que os diretórios que estão no diretório Documentos foram copiados para a raiz da unidade externa.
ls
Copiando o diretório de origem e seu conteúdo
Se você queria que o diretório Documentos e seu conteúdo fossem copiados para a unidade externa, remova o “/” do final de “/ home / dave / Documentos” na linha de comando, assim:
rsync -r / home / dave / Documentos / media / dave / SILVERXHD /
Para evitar confusão, removi os dois diretórios anteriormente copiados da unidade externa antes que este segundo comando fosse executado.
Se deixarmos a segunda cópia ser concluída e examinarmos novamente a unidade externa, veremos que o diretório Documentos foi copiado. Seu conteúdo está dentro desse diretório. Eles não estão na raiz da unidade externa.
Copiando para um diretório de destino específico
Para copiar para um diretório específico no disco rígido de destino, adicione o nome do diretório ao caminho de destino. Vamos supor que desejamos copiar o conteúdo do diretório “/ home / dave / Documents” para um diretório chamado “backups” na unidade externa.
Faríamos isso com o seguinte comando.
rsync -r / home / dave / Documentos / / media / dave / SILVERXHD / backups /
Verificando na unidade externa, podemos ver que o diretório de backups foi criado, e dentro desse diretório está o conteúdo do diretório “/ home / dave / Documents”.
ls
ls backups
Preservando a propriedade e as permissões do arquivo
Use a -a
opção (arquivar) para preservar os atributos do arquivo, como datas de modificação, propriedade do arquivo, permissões de acesso e mais, para arquivos copiados, links simbólicos e arquivos de bloqueio especiais.
rsync -ra / home / dave / Documentos / / media / dave / SILVERXHD / backups /
Usando o Modo Detalhado
A -v
opção (detalhada) força rsync
a listar os arquivos à medida que são copiados.
rsync -rav / home / dave / Documentos / / media / dave / SILVERXHD / backups /
Um resumo do backup é apresentado quando a cópia é concluída.
- Enviado : os bytes transferidos para o destino.
- Recebido : os bytes recebidos no host.
- Bytes / s : é a taxa de transferência efetiva.
- Tamanho total : representa o tamanho dos dados que seriam enviados se você não estivesse usando
rsync
. Em execuções subsequentes,rsync
ele apenas transferirá as diferenças do arquivo. Esta figura representará os dados que não precisaram ser transferidos. - Speedup : Esta é a relação entre a quantidade de dados que teve que ser enviada e a quantidade total de dados que existe. Se
rsync
precisar copiar todos os arquivos na íntegra (na primeira vez em que for executado, por exemplo), o speedup será 1.0. Quandorsync
for usado da próxima vez, ele otimizará as transferências. Ele enviará apenas as diferenças entre os arquivos, não os arquivos inteiros. Arquivos sem alterações serão ignorados. O valor da aceleração representará a proporção entre a pequena quantidade de dados que foi necessária para ser transferida e o tamanho total dos arquivos.
Usando a opção de progresso
A -P
opção (progresso) rsync
gera um pequeno relatório de progresso após cada arquivo ser copiado.
rsync -raP / home / dave / Documentos / / media / dave / SILVERXHD / backups /
As informações fornecidas podem ser vistas entre cada arquivo copiado.
As informações fornecidas são:
- Tamanho do byte : dados transferidos para este arquivo.
- Porcentagem : Porcentagem do arquivo transferido.
- B / s : Taxa de transferência de dados.
- Tempo restante : tempo estimado restante para transferir este arquivo.
- xfr # : O número de arquivos transferidos até agora.
- to-chk : O número de arquivos que ainda precisam ser verificados e verificados pelos algoritmos de otimização.
Adicionando mais velocidade
Para acelerar as transferências, use a -z
opção (compressão). Isso compacta o arquivo na transferência, mas o arquivo é armazenado descompactado no diretório de destino.
A opção de compactação não trará benefícios significativos para transferências envolvendo muitos arquivos pequenos. Para coleções de arquivos maiores, pode reduzir o tempo de transferência de uma forma significativa.
Também estamos usando a --partial
opção aqui. rsync
irá deletar arquivos parcialmente transferidos causados por falhas de rede ou outras interrupções. A --partial
opção força rsync
a deixar os arquivos parcialmente transferidos no destino. O tempo líquido rsync
é executado, não será necessário voltar a transferir as partes dos arquivos parcialmente transferidos.
Observe que você pode não querer usar esta opção se houver o risco de alguém confundir os arquivos parcialmente transferidos com arquivos completamente transferidos.
rsync -ravz --partial / home / dave / Documentos / / media / dave / SILVERXHD / backups /
Em nosso exemplo, os benefícios são marginais.
A taxa de aceleração melhorou, mas em dois centésimos de um por cento! Em um cenário do mundo real, suas melhorias de velocidade serão mais impressionantes.
Usando rsync em uma rede
Até agora, buscamos uma unidade USB externa. Para usar um local de rede como destino para o backup, use o caminho para esse local na linha de comando. Há um dispositivo de armazenamento conectado à rede (NAS) na rede em que este artigo foi pesquisado.
Podemos usar o mesmo truque que usamos anteriormente para identificar o caminho para o NAS, passando o mouse sobre a conexão desse dispositivo no Nautilus.
Não há opções especiais para backup em uma rede; essas são todas as opções que já usamos.
rsync -ravz --partial / home / dave / Documentos / / media / dave / NAS / dave / backups /
Não há diferença no formato da saída.
Não é de surpreender que haja uma melhoria significativa no número de Bytes / s.
Se executarmos rsync
mais uma vez, podemos ver que não há arquivos para transferir porque não houve alterações, mas ainda há alguns bytes transferidos de um lado para outro. Esta é a quantidade de dados que precisa ser transferida para comparar a lista de arquivos no destino com a lista de arquivos na origem.
A taxa de aceleração é uma ordem de magnitude melhor neste caso. Na prática, suas taxas de desempenho estarão em algum lugar entre nossas duas leituras pseudo-artificiais.
Usando rsync sobre SSH
rsync
suporta backup por meio de uma conexão SSH. Precisamos fornecer o nome da conta do usuário e a localização SSH na linha de comando. Estamos usando um nome de rede aqui, mas você também pode usar um endereço IP.
Observe o “:” entre os detalhes da conexão SSH e o início do caminho da rede no destino remoto.
rsync -ravz --partial / home / dave / Documents / dave@sulaco.local: / home / dave / Backups /
Será solicitada a senha da conta do usuário na máquina remota . Esta não é sua senha na máquina de origem.
O backup será concluído normalmente. A taxa de transferência não é tão rápida quanto uma conexão de rede normal, devido à criptografia e descriptografia que ocorrem na conexão de shell segura.
Automatizando seus backups
Podemos criar backups automatizados facilmente adicionando entradas ao arquivo crontab.
crontab -e
Vamos configurar um backup automatizado para ser executado todos os dias às 04:30 (se o computador estiver ligado nessa hora, é claro). A sintaxe do rsync
comando não muda em nada.
Ctrl + O gravará suas alterações no arquivo e Ctrl + X fechará o nano
editor.
Colocando uma cara amigável no Rsync
Pessoas que não se sentem confortáveis com a linha de comando podem usar um dos vários programas que ativam uma interface gráfica de usuário (GUI) rsync
. Dois bons exemplos são luckyBackup e Grsync . Ambos os programas permitem que muitas das rsync
opções sejam selecionadas por meio da interface do usuário.
O Grsync
programa concentra-se em ser um invólucro visual para rync
. Ele fornece acesso fácil às rsync
opções e adiciona apenas um conjunto limitado de novas funcionalidades.
O luckyBackup
programa é muito mais do que um simples invólucro para rsync
. É um programa de backup que usa rsync
nos bastidores. Por exemplo, luckyBackup
pode fazer vários “instantâneos” do seu backup. Você pode então “reverter” para as versões dos arquivos em qualquer um dos instantâneos.
Para instalar o Grsync
Para instalar Grsync
no Ubuntu, use este comando:
sudo apt-get install grsync
Para instalar Grsync
no Fedora, use este comando:
sudo dnf install grsync
Para instalar Grsync
no Manaro, use este comando:
sudo pacman -Syu grsync
Para instalar o luckyBackup
Para instalar luckyBackup
no Ubuntu, use o seguinte comando:
sudo apt-get install luckybackup
Para instalar luckyBackup
no Fedora use o seguinte comando:
sudo dnf install luckybackup
No Manjaro você deve instalar a luckyBackup
partir do Arch User Repository (AUR). Você pode fazer isso com o pamac
gerenciador de pacotes.
Não arrisque, faça backup de seus dados frequentemente
Os backups são absolutamente vitais. Faça backup com freqüência, faça backup em vários locais e em diferentes mídias. Depois de configurado, rsync
pode fazer tudo isso por você.