Introdução

Introdução

RSNAPSHOT é uma ferramenta de backup escrita em Perl que utiliza o RSYNC como seu back-end. O RSNAPSHOT permite que os usuários criem soluções de backup incrementais personalizadas. Este artigo discutirá o seguinte: Os benefícios de uma solução de backup incremental, a instalação da RSNAPShot, sua configuração e exemplos de uso.

Apoia-la!

Eu estava discutindo recentemente com um colega os benefícios de fazer backup de seus dados. Meu colega estava me dizendo como um de seus clientes havia perdido recentemente um artigo bastante longo em que eles estavam trabalhando. Decidi que essa pode ser uma boa chance de experimentar meu netbook e rsnapshot. Para este tutorial, assumirei que você tem 2 peças de hardware: seu computador host e seu equipamento de destino. Estarei usando um disco rígido externo para a maior parte deste post. No entanto, cobrirei brevemente o uso para fazer backup de arquivos sobre uma LAN.

Fazer backup de seus dados não deve ser a pergunta a ser feita, mas como devo fazer backup das minhas coisas? Qual é a melhor maneira? Bem, existem muitas vias de backup diferentes que você pode seguir, incluindo nível de bloco (DD, PartImage), nível de partição (RAID e todas as suas variações), nível de arquivo (rsyncand seus aplicativos para crianças). Discutirei dois tipos de backups no contexto de backups baseados em arquivos.

Backups normais, ou backups completos, são auto -explicativos. Backups normais são uma maneira de fazer backup de todos os seus arquivos toda vez que você executa um backup. Um problema ao utilizar um esquema de backup normal múltiplo é que um backup normal ocupa uma quantidade considerável de espaço. Por exemplo, se você executar um backup completo de um disco rígido de 250gig com 20% de capacidade, todos os dias por apenas uma semana (assumindo que a quantidade de dados não flutue) significará que você já usou 350gigs por apenas uma semana de backups. Como você pode ver, isso não é viável a longo prazo. O outro método que eu prefiro é o método de backup incremental. Um backup incremental consiste em um backup completo e depois executando backups adicionais. Esses backups adicionais vão apenas Arquivos de backup que mudaram desde o último backup. Em vez de fazer backup de todo o seu disco rígido, apenas os arquivos específicos que mudaram desde o último backup são backup. Como você provavelmente pode imaginar, este é um processo muito mais eficiente. Uma ferramenta que faz isso no *nix é rsnapshot.



O que é RSNAPSHOT?

RSNAPSHOT, como mencionado anteriormente, é um utilitário de backup incremental. Neste tutorial, mostrarei como criar um esquema de backup de sete dias usando RSNAPSHOT. Essencialmente, o RSNAPSHOT criará 1 backup completo e os backups subsequentes farão backup apenas de arquivos que mudaram. O verdadeiro poder do RSNAPSHOT é sua capacidade de utilizar links duros entre cada backup. Cada backup parece ser um backup completo. Na realidade, cada novo backup consiste em arquivos recém -criados ou atualizados. RSNAPSHOT pode ser usado em uma LAN e também pode ser executado de Cron. Neste tutorial, mostrarei os dois exemplos de uso.

Instalação

A instalação do RSNAPSHOT é bastante direta, basta executar o seguinte comando Linux:

No Debian (ou Ubuntu):

Instalação apt-get RSNAPSHOT

On Fedora:

yum install rsnapshot

No Archlinux:

Pacman -S RSNAPSHOT

Agora vamos configurar o RSNAPSHOT.

Configuração

Dê uma olhada em /etc, se /etc /rsnapshot.conf.Existe padrão que você precisa copiá -lo para /etc /rsnapshot.conf. Se o .O arquivo padrão não existe e, em seguida, crie um backup do regular .conf. Isso é útil no caso em que você precisa fazer referência a ele mais tarde.

Abra o RSNAPSHOT.conf e comece a editá -lo para suas necessidades. O arquivo de configuração do RSNAPShot é bem comentado. Isso torna a configuração muito mais fácil. Eu começaria por descomentar todos os aplicativos na seção "Dependências do programa externo" do arquivo de configuração. Para iniciantes, o descomamento das seguintes linhas:

CMD_RSYNC/USO/BIN/RSYNC
cmd_d /bin /d
CMD_RSNAPSHOT_DIFF/USA/BIN/RSNAPSHOT-DIFF

Pode ser necessário alterar a localização do RSNAPSHOT-DIFF, se o RSNAPSHOT não o localizar. Para garantir que você esteja referenciando o problema binário correto:

onde rsnapshot-hiff

Agora você precisa decidir como exatamente criar seu esquema de backup. Depois de se estabelecer em um esquema, você precisa editar as linhas "intervalos" localizadas em "intervalos de backup". RSNAPSHOT pode fazer backups horários, diários, semanais e mensais. Meu sistema faz um esquema de backup de sete dias, mas você pode decidir aqui o que gostaria de fazer. Um exemplo pode estar criando um backup que roda a cada seis horas, todos os dias da semana. Isso depende de você. Vou usar minha configuração como exemplo. Veja a imagem abaixo:



As outras duas linhas que você precisa para não dominar são o snapshot_root (localizado no início do script) e backup (localizado em "Pontos/scripts de backup").

snapshot_root $ destino/ #specifica onde seus backups são armazenados
.
.
Backup $ fonte/ $ HASTENS
#backup Especifica o que você faz o backup, você pode fazer backup
#De vários locais, basta especificar várias linhas de backup

A linha de backup consiste em três partes. Essas três partes incluem a declaração "backup", a localização da fonte e o apressado. Cada componente deve ser separado por uma guia e os diretórios devem terminar com / ou rsnapshot não serão adequadamente. Mais dois recursos que vale. Uncomemente as três linhas a seguir (e alterar de acordo):

verboso 5 #quão muita informação deve o
#revezamento de backup acionário para você?
Loglevel 5 #Como a informação deve
#deve ser armazenado no arquivo de log?
logfile $ log_file_destination #onde o arquivo de log deve ser armazenado?

Como você provavelmente percebeu ao ler os comentários no .arquivo conf, varia de 1-5, com 5 sendo mais detalhado. Eu permitiria isso a princípio para ver se tudo está correndo bem. Este nível de controle é útil. Se você tiver algum problema, terá a capacidade de realizar alguma depuração.

Como mencionado anteriormente, você também pode usar o RSYNC incluir e excluir arquivos e abaixo é um exemplo de exclusão de arquivo.

#EXCLUIR
#não para fazer backup ao lado ~
- /home/javier/dados/
- /home/javier/$ dest/

Incluir arquivos são de natureza semelhante. Em vez de '-' use '+' para denotar dados que você deseja incluir. Se você decidir que gostaria de usar incluir ou excluir arquivos, dê uma olhada nas linhas incluídas_file/exclude_file. Aqui está minha seção do RSNAPSHOT.Conf observando essas opções.

incluir_file/home/javier/backup/incluir.LST
exclude_file/home/javier/backup/exclude.LST

Se você está acompanhando até este ponto, Rsnapshot está praticamente configurado. Se você quiser executar qualquer coisa antes ou depois do RSNAPSHOT, dê uma olhada nas linhas cmd_preexec e cmd_postexec. Você pode descomentar essas linhas e especificar scripts para executar antes ou após a conclusão de um backup, se necessário. Caso contrário, terminará de editar seu arquivo de configuração. Agora execute o seguinte comando linux:

RSNAPSHOT ConfigTest

Captura de tela abaixo:

Esse comando é executado rsnapshot e diz para executar a verificação da sanidade no RSNAPSHOT.conf. Se tudo correu bem, então você deve obter a seguinte saída: “Sintaxe ok.“Se não lê a saída, ele fornece e edite RSNAPSHOT.conf como necessário.



Exemplos de uso

Vou discutir três formas de usar rsnapshot. Esses formulários incluem localmente, remotamente e sua automação (por meio de cron).O uso não é necessário diferente entre a execução local ou remota. Em vez disso, vou apontar as diferenças nos arquivos de configuração

Usando RSNAPSHOT localmente

Para o backup local, as duas linhas importantes são:

snapshot_root $ dest/
Backup $ fonte/ $ hostName/

Você pode especificar várias fontes de backup, apenas criando várias linhas referentes a cada diretório que você deseja fazer backup.
Para realmente executar um problema de backup, o seguinte comando Linux:

rsnapshot diariamente

Você também pode usar horário, semanal e mensal como opções. Cada comando criará um diretório de backup de acordo com a operação especificada. Se eu navegar para o meu local de backup, verei o seguinte:

[algum_user@hostName backupdir]# ls
diário.0 diariamente.1 log

A saída acima mostra que eu tenho dois backups de um esquema de backup de sete dias criado.

Backup remoto

Para utilizar os recursos de backup remotos da RSNAPShot, basta especificar o local remoto como sua fonte de backup (para ativar o backup remoto, o SSH terá que ser ativado para o servidor. A autenticação baseada em chave será sua melhor opção aqui):

root de [email protected]:/ home/ exemplo.coma

Depois de especificar uma fonte remota como um local para fazer backup, basta executar o RSNAPSHOT. Exemplo abaixo:

rsnapshot a cada hora

Automação com Cron

Se você tiver alguma experiência com o CRONTHEN, adicionando uma entrada com instantâneo apenas consiste em adicionar o comando específico e.g. "Rsnapshot Hourly" e a sintaxe relevante em Cron. aqui estão alguns exemplos:

20 23 * * */usr/bin/rsnapshot diariamente # backup diário é executado às 23:20
05 23 * * 7/usr/bin/rsnapshot semanalmente # backup semanal é executado às 23:05
# no domingo

Recomenda -se que você agende backups maiores antes de backups menores (como mostrado acima) para evitar conflitos com rotações entre backups. Além disso, é recomendável criar uma lacuna entre os backups maiores e os backups menores para evitar conflitos entre cada trabalho.



Outros usos do RSNAPSHOT

RSNAPSHOT vem com vários outros recursos úteis. Por exemplo, você pode executar o seguinte comando linux:

rsnapshot du

Para ver quanto espaço em disco está usando (DU deve ser não declarado em /etc /rsnapshot.conf). Captura de tela abaixo:

Você pode executar o seguinte para comparar as mudanças entre os backups:

rsnapshot diff diariamente.0 Daily1

Você deve ver a saída semelhante à captura de tela abaixo:


Veja a página do RSNAPSHOT para funcionalidade adicional.

Solução de problemas

Se você tiver algum problema sobre o Lchown, execute o seguinte comando Linux:

perl -mcpan -e 'install qc (lchown)'

Conclusão

Depois de concluir com sucesso este tutorial, agora você deve ter um esquema de backup de alta qualidade no lugar. Para documentação adicional, consulte a página do RSNAPSHOT's Man e sua página inicial localizada aqui. Ele contém um excelente como fazer, que está disponível em vários formatos. Além disso, eu recomendaria verificar outros programas de backup, incluem RSYNC (back-end do RSNAPSHOT), RDIFF-BACKUP, PartImage e DD.

Tutoriais do Linux relacionados:

  • Exemplos RSYNC no Linux
  • Uma introdução à automação, ferramentas e técnicas do Linux
  • Como criar backups incrementais usando o RSYNC no Linux
  • Melhor software de backup do Ubuntu
  • Coisas para instalar no Ubuntu 20.04
  • Mint 20: Melhor que o Ubuntu e o Microsoft Windows?
  • Como criar backups incrementais e diferenciais com alcatrão
  • Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
  • Como criar backups incrementais do sistema com o tempo de tempo…
  • Mastering Bash Script Loops