Posso saber se o crashplan fez backup de um determinado arquivo em um determinado estado?

0

Gostaria de poder dizer, de forma programática, se o CrashPlan fez backup de um arquivo específico, incluindo as atualizações atuais desse arquivo. Ou seja, que o conteúdo atual de um arquivo seja armazenado em backup.

É relativamente fácil dizer quando o CrashPlan fez o backup de um arquivo pela última vez: seu nome de arquivo aparece em /usr/local/crashplan/log/backup_files.log.0, e com alguma precisão, pude comparar o tempo de backup com a hora da última modificação do arquivo, mas esse método parece ser um pouco duvidoso.

Alguns métodos que eu pude pensar, mas não sei como:

  • Compare o arquivo atual com os metadados do CrashPlan sobre esse arquivo. Isso precisa de conhecimento sobre o formato dos arquivos "cache" do CrashPlan, bem como sobre o sistema de hashing usado. Isso pode ser feito por meio da CLI, mas a CLI é apenas um portal para a GUI e eu preciso de algo que possa ser roteirizado.

  • Restaure o arquivo para um diretório temporário e compare-o. Infelizmente, não há CLI para fazer restaurações; a GUI é a única maneira.

Vou descrever o que estou tentando alcançar. Seria bom saber como fazer o acima, mesmo que haja métodos alternativos para o seguinte:

Estou usando o CrashPlan para backups contínuos em meu banco de dados PostgreSQL, usando arquivos WAL. Na configuração atual, o comando archive copia os arquivos para um diretório de archive, cujo backup é feito pelo CrashPlan. De vez em quando eu confirmo manualmente (ou apenas confio) um backup de um grupo de WALs, e removo-os do diretório de arquivamento e, ocasionalmente, faço uma restauração através da GUI para garantir que posso recuperar os WALs atuais e "excluídos". O diretório xlog também é submetido a backup, portanto, tenho uma boa chance de fazer uma restauração quase completa, mesmo que um xlog específico ainda não tenha sido arquivado pelo PostgreSQL.

Gostaria de poder automatizar esse processo, o que exige a confirmação do status do backup e a recente experiência ou a automação de uma restauração para fins de comparação.

(Como um bônus, se o método for confiável, eu poderia transformar o "archive_command" de "copy to archive directory" em "confirme que o CrashPlan fez backup da versão atual" e acabar com o diretório de archive completamente).

(E, sim, estou fazendo o pg_dumpall regular, além do acima).

    
por Chris Cogdon 05.06.2014 / 22:25

2 respostas

0

Isso não será possível, eu tenho medo. Certamente não com a versão do consumidor, não estou familiarizado com as versões comerciais / empresariais.

Parte do problema é que os dados são criptografados localmente, então não acho que você possa simplesmente extrair algo útil do cache.

Eu acho que você está olhando para a ferramenta errada para o trabalho. Eu recomendaria pesquisar uma ferramenta de backup mais focada, talvez uma que tenha agentes específicos do Postgres.

    
por 05.06.2014 / 23:17
0

Eu escrevi um script simples que faz o truque. No entanto, ele faz isso comparando o tempo de backup com a hora da última modificação do arquivo. É a única solução que encontrei. Abaixo está o link para minha postagem no blog e a essência correspondente:

link

link

    
por 22.06.2016 / 09:19