MongoDB backup script

Bueno, he adaptado un script de mysql para poder hacer backups sobre mongoDB. Es sencillo pero útil. Esto esta pensado para una sola instancia. Si se hace sobre MASTER-SLAVE ya se pueden utilizar otras técnicas. Es sencillo, aviso…

Mongodump can be used to do a live backup of your data, or can work against an inactive set of database files. The mongodump utility may be used to dump an entire cluster/server/database/collection (or part of a collection with a query), even when the database is running and active.

Me gusta sobretodo que Mongodump puede funcionar incluso con la base de datos activa y funcionando. Luego de otro lugar recojo el backup y me lo llevo por ssh a otro destino.


#!/bin/sh
# MongoDB backup script
# This script is licensed under GNU GPL version 2.0 or above
# ---------------------------------------------------------------------

### System Setup ###
BACKUP="/root/backup/mongodb"

### MySQL Setup ###
MUSER="mongoadmin"
MPASS="mongopass"
MHOST="localhost"

### Binaries ###
TAR="$(which tar)"
GZIP="$(which gzip)"
MONGODUMP="$(which mongodump)"

### Today + hour in 24h format ###
NOW=$(date +"%F")

FOLDER=$BACKUP/$NOW
FOLDERGZ=$BACKUP/$NOW.tar.gz

mkdir $BACKUP/$NOW
cd $BACKUP/$NOW
$MONGODUMP -u $MUSER -p $MPASS
$TAR -cvf $FOLDERGZ $FOLDER
rm -rf $BACKUP/$NOW

Links
http://www.mongodb.org/display/DOCS/Import+Export+Tools#ImportExportTools-mongodump

4 thoughts on “MongoDB backup script

  1. En mysql hay una opcion para que la password de acceso a la base de datos sea encriptada antes. Sabes si mongo provee algo por el estilo?, ya que en el caso que muestras la password queda visible en el script. Y por temas de seguridad esto no es recomendable.

    Gracias

Leave a Reply

Your email address will not be published. Required fields are marked *