Como faço o backup dos meus sites

Esse é meu último post de 2011, então, feliz ano novo.

Eu tenho um VPS com linux instalado para ser o servidor dos meus sites, é um VPS bem simples.
Nele eu tenho instalado os servers Apache e MySQL, sei que não é o ideal manter todos os serviços em um único servidor mas assim está me atendendo e o custo fica mais baixo.

Bom, eu não estou escrevendo este post para falar do meu ambiente e sim da maneira como eu faço backup dele.
Periodicamente eu executo manualmente (e isso que me enche um pouco o saco) os comandos abaixo:

1- Crio um diretorio para o backup
Exemplo: /home/adler/backup/31122011

2- Entro no diretório criado acima
cd /home/adler/backup/31122011

3- Gerar o dump de todos os bancos de dados que estão no servidor MySQL
mysqldump –all-databases –user=darthvader –password > dump_31122011.sql

4- Copio os arquivos que serão salvos no backup
cp -R /caminho/para/os/arquivos/ .

5- Gerar um backup tar.bz2 de todos os arquivos (dos sites e o dump do banco de dados) – Eu prefiro o algoritimo bz2 que apesar de ser mais lento, possui uma taxa de compressão mais alta
tar cjvf /home/adler/backups/backup.31122011.tar.bz2 /home/adler/backups/31122011

6- Testar se o pacote foi gerado corretamente
tar tjvf /home/adler/backup.31122011.tar.bz2

7- Por fim, copiar os arquivos para meus HDs de backup usando SCP
scp user@seuendereco.com.br:/caminho/para/o/backup/backup.31122011.tar.bz2 ~/backups/backup.31122011.tar.bz2

Pronto. Eu sei que posso melhorar muito este processo, mas, como eu tenho poucos sites e todos no mesmo server ainda não senti necessidade disso, mas eu agradeceria se você pudesse compartilhar a maneira como você lida com esse tipo de processo nos comentários.

Nota: Como todos os sites neste server são particularmente meus, não preciso fazer o backup individual de cada um.
Se eu tivesse sites de clientes neste server, provavelmente eu faria os backups individualmente.

7 thoughts on “Como faço o backup dos meus sites

  1. Adler, só por curiosidade, porque voce não joga todas as rotinas para um shell script e executa com um cronjob?

    • Só pra reforçar o porque da pergunta, é porque é dessa forma que fazemos em nossos servidores no trampo.

    • Pois é, porque sempre quando penso em fazer isso eu fico com preguiça e também por que o scp do server para minha máquina seria meio difíceis por diversas restrições.

  2. Grande Adler! Feliz Ano novo para você e toda a família!

    De fato, o procedimento de backup é simples mas enche um pouco o saco… hehehe
    Muito boa a dica. Este ano pretendo adquirir um VPS e adotar uma política de backup parecida.

    Parabéns pelo post!!

  3. Talvez uma combinação de shellscript e rsync torna-se o processo mais automatizado e ai sobraria mais um tempinho pro video-game :D

    Tenho um esquema de backup que funciona mais ou menos assim:

    No Servidor VPS:
    - de x em x horas é feito o backup das bases e salvo num diretorio databases/backups

    Numa maquina local q fica sempre ligada ( porem essa tarefa pode ser feita apenas qdo a pessoa quiser )
    - de x em x horasé rodado o rsync pra ver o q mudou no diretorio /home/site , o rsync trata de copia apenas q foi alterado
    - o mesmo procedimento pra o /databases/backup

    depois disso o cara ainda pode compactar, mas eu deixo os arquivos soltos, qdo eu preciso reenviar é so subir.

    o shellscript local é mais ou menos assim:

    #!/bin/bash

    DATAHORA=`date +%Y-%m-%d_%H-%M`
    LOG=~/backups/logs/site-$DATAHORA.log

    rsync -Crvz –update user@fsite.com.br:backups/ ~/backups/site.com.br/backups/ >> $LOG

    rsync -Crvz –update –exclude-from ‘/home/kingkong/backups/site.com.br/public_html-exclude.txt’ user@site.com.br:public_html/ ~/backups/site.com.br/public_html/ >> $LOG

    cat $LOG | mutt -s ‘KingKong Backup Concluido ‘$DATAHORA meuemail@gmail.com

    É claro que não existe a maneira correta de fazer backup, o correto é a q mais se enquandra nas suas necessidades, mas trocando ideias vamos conhecendo outras formas e adaptando as nossas :D

    Feliz 2012!!!!

    • Opa.
      A idéia do Rsync é bacana mesmo.
      Obrigado por compartilhar, certamente será útil para mais um monte de gente.

      Valeu!

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">