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».

Disponível em: pt-brPortuguês (Portugués, Brasil)enEnglish (Inglés)esEspañol

Deja una respuesta