Backup Bases MongoDB com Plugin Bacula bpipe

Backup Bases MongoDB com Plugin Bacula bpipe

Apenas como ilustração, o caractere traço (-) pode ser utilizado para gerar o backup de bancos Mongo diretamente para a saída padrão capturada pelo bpipe, mas é necessário especificar a collection (tabela) para cada fluxo:

mongodump --db hfaria --collection teste -o -
mongodump --db hfaria --collection teste2 -o -

O traço também pode ser utilizado no comando mongorestore para a leitura da entrada padrão durante o restore do bacula pelo bipe:

mongorestore --db hfaria --collection teste -

É possível utilizar um script no Cliente Zimbra a partir do FileSet para automaticamente listar todas as bases e criar linhas de configuração do bpipe para o Bacula.

Exemplo de File Set Include:

\\| /opt/bacula/scripts/mongo_bpipe.sh

Exemplo de script mongo_bpipe.sh:

#
# Autoria: Heitor Faria (Copyleft: all rights reversed).
# Testado por: xxxx
#
# Deve ser chamado no sub-recurso INCLUDE do FileSet do bacula-dir.conf, referente ao backup do cliente instalado na máquina do Mongo (por exemplo):
#
# Plugin = "\\|/etc/bacula/mongo_bpipe.sh %l"
#

for db in $(echo "db.adminCommand( { listDatabases: 1 } )" | mongo --quiet | grep name | cut -d '"' -f 4); do
  for coll in $(echo "show collections" | mongo --quiet $db); do
    echo "bpipe:/opt/bacula/working/$db_$coll:mongodump --db $db --collection $coll -o -:mongorestore --db $db --collection $coll -"
  done
done

A restauração será feita automaticamente para o MongoDB, se selecionado o named pipe para restore.

Alternativamente, as collections podem ser restauradas para disco, alterando o comando para “dd of=arquivo”.

Leave a Reply

MongoDB Backup with the Bacula bpipe Plugin

MongoDB Backup with the Bacula bpipe Plugin

Just as an illustration, the dash (-) character can be used to generate the backup of Mongo banks directly to the standard output captured by bpipe, but it is necessary to specify the collection (table) for each flow:

mongodump --db hfaria --collection teste -o -
mongodump --db hfaria --collection teste2 -o -

The dash can also be used in the mongorestore command to read the standard input during the beep restore of the bacula:

mongorestore --db hfaria --collection teste -

It is possible to use a script in the Zimbra Client from FileSet to automatically list all databases and create bpipe configuration lines for Bacula.

Example of File Set Include:

\\| /opt/bacula/scripts/mongo_bpipe.sh

Sample mongo_bpipe.sh script:

#
# Authorship: Heitor Faria (Copyleft: all rights reversed).
# Testado por: xxxx
#
# It must be called in the INCLUDE sub-resource of the FileSet of bacula-dir.conf, referring to the client backup installed on the Mongo machine (for example):
#
# Plugin = "\\|/etc/bacula/mongo_bpipe.sh %l"
#

for db in $(echo "db.adminCommand( { listDatabases: 1 } )" | mongo --quiet | grep name | cut -d '"' -f 4); do
  for coll in $(echo "show collections" | mongo --quiet $db); do
    echo "bpipe:/opt/bacula/working/$db_$coll:mongodump --db $db --collection $coll -o -:mongorestore --db $db --collection $coll -"
  done
done

The restoration will be done automatically for MongoDB, if the named pipe is selected to restore.

Alternatively, collections can be restored to disk by changing the command to “dd of=file”.

 

Leave a Reply

Respaldo de Bases MongoDB con Plugin Bacula bpipe

Respaldo de Bases MongoDB con Plugin Bacula bpipe

Como ilustración, el carácter de guión (-) se puede utilizar para generar la copia de seguridad de los bancos Mongo directamente a la salida estándar capturada por bpipe, pero es necesario especificar la colección (tabla) para cada flujo:

mongodump --db hfaria --collection teste -o -
mongodump --db hfaria --collection teste2 -o -

El guión también se puede usar en el comando mongorestore para leer la entrada estándar durante la restauración del pitido de la bacula:

mongorestore --db hfaria --collection teste -

Es posible utilizar una secuencia de comandos en Zimbra Client desde FileSet para enumerar automáticamente todas las bases de datos y crear líneas de configuración de bpipe para Bacula.

Ejemplo de conjunto de archivos incluye:

\\| /opt/bacula/scripts/mongo_bpipe.sh

Script de ejemplo mongo_bpipe.sh:

#
# Autoría: Heitor Faria (Copyleft: all rights reversed).
# Testado por: xxxx
#
# Debe invocarse en el recurso secundario INCLUDE del FileSet de bacula-dir.conf, haciendo referencia a la copia de seguridad del cliente instalada en la máquina Mongo (por ejemplo):
#
# Plugin = "\\|/etc/bacula/mongo_bpipe.sh %l"
#

for db in $(echo "db.adminCommand( { listDatabases: 1 } )" | mongo --quiet | grep name | cut -d '"' -f 4); do
  for coll in $(echo "show collections" | mongo --quiet $db); do
    echo "bpipe:/opt/bacula/working/$db_$coll:mongodump --db $db --collection $coll -o -:mongorestore --db $db --collection $coll -"
  done
done

La restauración se realizará automáticamente para MongoDB, si la tubería con nombre se selecciona para restaurar.

Alternativamente, las colecciones se pueden restaurar en el disco cambiando el comando a “dd of=file”.

Leave a Reply