Script para backups automáticos do seu servidor

Quem gerencia servidores sabe o quanto é importante ter backups de tudo... bom, em caso de problema ou falha, o backup será nosso melhor amigo e nos ajudará a restaurar os serviços 

Há algum tempo atrás (vários meses ... alguns meses) aqui, as configurações não eram copiadas em servidores, logs ou algo parecido automaticamente. E não poderia ser assim haha, pensei em usar Bacula, mas… DEUS!! Para o que eu queria isso foi muito, muito complicado na minha opinião, se o que você quer é simplesmente fazer backups e salvá-los (ou enviá-los para outro servidor, ou por e-mail) não há necessidade de usar o Bacula, com um script simples resolve todos os problemas, por isso resolvi fazer meu próprio script e assim fiquei mais satisfeito 

E justamente esse roteiro é o que compartilho com vocês, explico muito brevemente o que ele faz:

  1. Crie uma pasta onde tudo será salvo, e esta pasta será compactada.
  2. Esta pasta terá o nome do ano, mês e dia atual, por exemplo hoje essa pasta se chamaria: 2012-04-26
  3. Copiar / Etc / (e todo o seu conteúdo) para essa pasta.
  4. Copiar registros (/ var / log /) para essa pasta mencionada.
  5. Exporte os bancos de dados MySQL que temos.
  6. Comprimir com uma senha (SENHA) nessa pasta, compacte-a em RAR.
  7. Gerar um arquivo (dados.info) com todo o log do acima feito (registro de cópia de arquivo e compressão para .rar), além de colocar o tamanho (em MBs) do arquivo .RAR, que recordo, contém tudo o que decidimos salvar.
  8. Exclua a pasta na qual colocamos os arquivos e depois compactamos, pois se já temos essa pasta compactada, não há necessidade de tê-la também descompactada.
  9. Envie emails para administradores ou pessoas ligadas ao servidor, informando que o backup foi feito corretamente, e o arquivo com o log de tudo será enviado anexado a esse email (dados.info.rar)

Obviamente, esse script não deve ser executado e agora haha, você deve abri-lo e alterar sua senha do MySQL nele, pois não sei a senha do root de seus bancos de dados rsrs !!! quero que a notificação seja enviada, pois os e-mails que coloco são apenas por exemplo.

Se você quiser compactá-lo em .tar.gz e não em . Raramente (como o script é configurado) aí eu deixei a linha comentada, é só descomentar e comentar no . Raramente. Da mesma forma, se você deseja copiar por SSH (usando SCP) o arquivo compactado para outro servidor ou hospedagem, também deixei a linha no final (está comentado), nela você deve colocar os dados de acesso ao seu servidor ou hospedagem ( usuário e domínio ou URL do servidor), mas para que isso funcione, você também deve configurar SSH sem senha, já que o script não poderá acessar o servidor se não tiver acesso permitido a ele.

Ah, se você quiser que a coisa de envio de e-mail funcione, você deve ter postfix instalado no servidor, quase todos instalam postfix mas ei, o esclarecimento é válido 

Embora ... eles pudessem modificar e usar um script em Python que eu saí a um tempo atrásmas acho que funcionaria um pouco mais ^ - ^ U

E bem, só falta sair do script:

Script de backup VPS

Lembre-se de que você deve dar permissões de execução (chmod + x vps_backup-script.sh)

Para que funcione todos os dias às 10h, eles colocam isso em um terminal:

echo "* 10    * * *   root    cd /root && ./vps_backup-script.sh" >> /etc/crontab && /etc/init.d/cron restart

Supondo que o script seja salvo como: /root/vps_backup-script.sh

Bom, não quero fazer com que isso pareça muito complicado, o que não é haha, na verdade isso é algo extremamente simples, só que quando você vê pela primeira vez pode ser um pouco assustador 

Se você tiver alguma dúvida, pergunta ou sugestão, me avise, você sabe que gosto de ajudar 

lembranças

PD: Esclareço que não sou nem me considero programador haha, nem perto disso haha!! Eu sei que o script pode ser muito mais otimizado, mas ei... não sou programador 