Logo depois de publicar a primeira parte do artigo sobre DRP eu comecei a executar e documentar os passos da recuperação para poder escrever esta segunda parte. O procedimento sempre esteve em minha cabeça, mas nunca havia parado para descrevê-lo em detalhes. Quando fui fazer isso e terminei a tarefa, tudo funcionou exatamente como o esperado e minha máquina estava pronta para o uso como se nada tivesse acontecido.

Mas havia um porém: o processo todo era penosamente complicado, tedioso e cheio de passos com muitos detalhezinhos e comandos com consequencias potencialmente perigosas. Eu parei, pensei: "Cacete! é insano eu pretender ensinar isso para alguém! Tem muita coisa pra dar errado e é chato demais!".

Quando esta sensação ocorre com um usuário de Linux, é comum acontecer uma coisa: espremer e melhorar o processo até ele se tornar bom o suficiente para ser reproduzido com facilidade e ensinado a partir daí. Normalmente isso envolve escrever código. É justamente este ciclo que faz do Linux e suas mais diversas distribuições serem o que eles são. Necessidades individuais motivam a criação de novas e melhores ferramentas. O egoísmo nesse sentido é uma coisa bela!

Foi exatamente isso que aconteceu com o meu DRP. Portanto, neste artigo, vou apresentar a nova ferramenta e abordar algumas mudanças em relação ao que escrevi na primeira parte deste artigo. Tentarei ser breve.

Apresentando o DRP

O DRP é um conjunto de ferramentas modulares, extensíveis, fáceis de usar e escritas em bash que implementam um DRP completo para o usuário de Slackware safo.

Essas ferramentas ajudam o usuário com as seguintes etapas de um DRP:

  1. Preparação;
  2. Monitoração contínua;
  3. Testes;
  4. Recuperação.

A principal motivação dessas ferramentas é um caso de uso particular: o desastre.

Imagine que você perdeu o seu notebook, sua casa pegou fogo, você foi furtado/assaltado, um sinistro qualquer ocorreu e seu Slackware foi para o saco sem possibilidade de recuperação. Nestes casos, você poderá estar diante de uma ou mais das circunstâncias abaixo:

  • Muito chateado;
  • Você ou um ente querido pode estar machucado;
  • Um prazo importante se aproxima;
  • Pressão do trabalho;
  • Outras situações de estresse.

Em qualquer uma das circunstâncias acima ou, pior ainda, em uma combinação de duas ou mais delas, a última coisa que você quer é ter que se lembrar de um procedimento complexo a ser executado para colocar a sua vida digital nos trilhos.

É exatamente aí que o DRP entra.

O DRP implementa dois conjuntos de procedimentos padronizados e documentados:

  1. O registro constate do estado do seu Slackware e dos seus dados de usuário;
  2. A recuperação do estado e dados no caso de uma emergência e/ou uma circunstância psicológica desfavorável.

Você deixa de ter que lembrar muita coisa complicada e demorada de executar para lembrar apenas de seguir um roteiro pré-definido que trará o seu Slackware e seus dados de volta do jeito que você os viu pela última vez e em um tempo razoável. A partir daí a vida segue...

Só há uma coisa importante para o DRP funcionar na hora que você precisar dele: sem preparação não há DRP!

Reconsiderações relativas à primeira parte do artigo

A primeira parte deste artigo demonstra os procedimentos de backup que eu considerava bons até então. A existência do DRP me forçou a reconsiderar esses procedimentos e agora cabe uma correção. Veja o que mudou:

  1. Abrangência e frequencia: ao invés de um perfil de backup diário, agora há dois perfis de backups incrementais distintos:
  1. Semanal: executa toda semana um backup de praticamente todo o /home e outros diretórios do sistema que não são alterados com tanta frequencia;
  2. Diário: faz o backup todos os dias apenas dos dados que mudam com mais frequencia dentro de /home.
  1. Longevidade: ao invés de uma retenção de sete dias, o perfil semanal retém o backup por quatro semanas e o perfil diário por 30 dias. A retenção de todo o backup é de um mês.

O DRP inclui exemplos de perfis e filtros para os dois tipos de backup. Veja esses exemplos em:

Preparação

Tudo o que é necessário para preparar uma máquina para o DRP está descrito na documentação. Ela está em inglês de brasileiro, mas se alguém quiser em português de brasileiro basta pedir aí nos comentários que eu traduzo e publico.

As seções da documentação efetivamente relevantes para a preparação são: Requirements e Source box preparation.

A preparação compreende o conjunto de procedimentos que você precisa implementar no cotidiano. Sem eles não há recuperação com o DRP!

Essa preparação não chega a ser complicada. Ela é só um pouco chatinha. Mas pesa a favor o fato de que a maior parte dela só precisa ser feita uma vez na vida, ficando apenas umas poucas coisas para fazer na mão, especificamente quando você instala novos pacotes.

Procedimentos de recuperação

Um procedimento de recuperação típico e utilizando uma máquina virtual para testes (o que impõe fases opcionais ao DRP) também está descrito em detalhes na seção DRP usage da documentação.

Em caso de desastre, esse é o conjunto de procedimentos que você vai ter que seguir. Nem mais, nem menos.

Repetindo: sem preparação não há DRP!

Considerações sobre tempo de recuperação

A documentação também provê informações sobre o tempo necessário para uma recuperação completa na seção Time required to recover.

Usando um ambiente virtualizado e que impõe inúmeras restrições de desempenho, o tempo necessário do 'puta merda, tô fodido/a' para o 'certo, deixa eu trabalhar' é de aproximadamente 4,5 horas. Nada mal, né? Acha muito? Faz tudo na mão e, se você chegar no final, me conta aí nos comentários quanto tempo você levou.

O DRP representa o trabalho de duas semanas úteis, 1373 linhas de código (tirando comentários e linhas em branco) e 994 linhas de documentação. Desejo que seja útil para alguém. Para mim já está sendo.

Ah! Eu estou completamente aberto aos patches, pull requests, comunicação de bugs e requisição de melhorias para o DRP. Você pode fazer isso aqui mesmo nos comentários, na página do DRP no GitHub ou nos tópicos que abri para ele no LinuxQuestions ou no Google+. Não se faça de rogado.

Eu disse que SEM PREPARAÇÃO NÃO HÁ DRP?!? ;)