execução
os backups são orquestrados por backupninja . Eu uso apenas um wrapper para meus scripts bash - para ter um único log de backup. cada script começa com
function handle {
echo Error
error problem occured
}
set -e
trap handle ERR
então eu recebo o erro nos logs sempre que qualquer um dos comandos [por exemplo, mysqldump ou rsync] falha.
todos os backups acabam no repositório rdiff , por isso tenho n dias de incrementos.
todos os backups são transmitidos usando o rsync para o servidor de armazenamento central.
no servidor de armazenamento, todos os backups são verificados diariamente e, após a verificação bem-sucedida dos dados no disco local, eles são copiados para o drive USB externo.
verificação
backupninja.log em todos os servidores é monitorado por nagios. Eu verifico se eles contêm apenas mensagens DEBUG e INFO. qualquer outra coisa desencadeia alerta.
cada backup 'toca' em um arquivo de teste, cuja presença e atualização são monitoradas no servidor de repositório de backup central com nagios.
além disso, sql dumps mais críticos são verificados quanto ao seu tamanho [não apenas frescor] e completude [por exemplo, no final do mysql dumps eu espero timestamp em
-- Dump completed on 2010-04-22 23:21:02
todos os arquivos rdiff são verificados diariamente antes que os dados sejam sincronizados com a unidade USB e, novamente, depois que forem sincronizados. por isso, mesmo se a transferência noturna for interrompida, terei um repositório consistente apenas no disco USB. O resultado da verificação é registrado no arquivo cujo conteúdo e atualização são verificados pelo nagios.
Os discos usb são rotacionados semanalmente e são armazenados off-line, apenas por precaução. isso pode ser um exagero para grandes quantidades de dados, mas funciona bem para ~ 300GB de arquivos / lixinhos que estão mudando lentamente.
tendências
Eu uso um plug-in customizado munin para plotar o tamanho do diff / data para cada repositório rdiff.
o tempo que leva para executar pode ser verificado nos logs de backupninja, mas por enquanto eu não me preocupo com isso.