Fazendo backup do meu site - como fazer isso e qual é a estratégia de backup recomendada? [fechadas]

3

Estou executando um site LAMP no Linux 10.0.4 LTS. Eu sou um novato sysadmin (eu sou um desenvolvedor embora) e estou procurando alguns conselhos sobre a melhor forma de implementar backup para o meu site. Meu banco de dados é mySQL e todas as minhas tabelas de banco de dados usam o mecanismo de banco de dados InnoDb.

Estes são os requisitos para o backup que eu quero implementar:

  1. Incorpora backups incrementais e completos do banco de dados mysql Eu gostaria de ter backups incrementais por hora, mas também backups diários, semanais e mensais Mas não está claro em minha mente que rotação usar para esses vários conjuntos de dados de backup - e também como gerenciá-los (e mais importante, como restaurar o banco de dados de um conjunto de backups completos / incrementais para uma data)

  2. Gostaria de compactar e criptografar os dados, para que eu possa armazená-los remotamente (Amazon S3)

  3. Eu quero ter isso totalmente automatizado (ou seja, executado como um cron job).

Nota: Meu servidor é 'headless', pois não possui janelas X ou outra GUI instalada, por isso estou pensando em implementar o backup em um script bash. Como alternativa, se houver software lá fora que possa me ajudar a executar esse tipo de backup, ele precisará ser capaz de ser executado a partir da linha de comando.

Os itens dos quais preciso fazer backup são:

  • banco de dados mysql
  • arquivos de sites (em uma pasta especificada. Idealmente, gostaria de deixar de fora alguns arquivos que são gerados automaticamente)
  • arquivos de configuração
  • arquivos de dados diversos em pastas diferentes

Aqui estão minhas perguntas:

  1. Existe algum software lá fora que eu possa usar para fazer isso, ou eu preciso escrever o meu próprio (script bash)?

  2. Qual é a estratégia de backup recomendada para usar (em termos do que é executado por hora, diariamente, semanalmente, etc.) e como restaurar o site a partir de um ponto específico no tempo?

Se eu tiver que escrever meu próprio script bash (sendo um novato no script bash), ficarei grato se alguém puder fornecer um esqueleto de script para me ajudar a começar.

    
por morpheous 31.07.2010 / 20:05

3 respostas

3

Eu usei rdiff-backup por anos e é estável e você pode confiar nele. Faz backups incrementais do que você der para ele. Então, eu resolveria seu problema com um script bash fazendo o seguinte:

  1. mysqldump seu banco de dados
  2. arquive seu banco de dados
  3. rdiff-backup para o local remoto.

O Rdiff-backup armazena apenas quando os arquivos e todos os backups futuros são adicionados incrementalmente e você pode reverter para qualquer backup.

Outros podem sugerir "rsnapshot", que é um pouco mais rápido, mas não mantém delta para arquivos, apenas para pastas.

    
por 31.07.2010 / 20:23
0

Sou muito fã do DAR.

link

Tem seus prós e contras, muitos dos quais podem ser lidos com algum amor do Google. É bastante processador intensivo (mas a maioria das boas soluções incrementais são), por isso deve ser uma consideração se o servidor estiver em um ambiente compartilhado (hospedagem compartilhada ou VPS).

Quanto à estratégia, o DAR é muito fácil de implementar em um bash / python via configuração CRON. Há alguns scripts bash pré-compilados no site DAR para revisar e personalizar conforme necessário.

Você pode fazer o upload do backup DAR e se diferencia para o S3 através de muitos aplicativos S3 pré-construídos.

Como sempre, experimente algumas soluções para descobrir o que é certo / melhor para suas necessidades.

    
por 31.07.2010 / 20:31
0

Eu gerencio 4 sites muito pequenos com bancos de dados que raramente mudam. Minha estratégia de backup é mysqldump 4 bancos de dados, então zipar tudo (o dono dos sites usa o Windows, portanto, os tar's estão fora de questão), e então use o WGET na máquina do dono para baixá-los. Fácil, livre e usa ferramentas padrão do Linux que raramente quebram.

    
por 01.08.2010 / 19:56