#!/bin/bash [ $# -ne 5 ] && exit 6 DBHOST=${1} DBUSER=${2} DBPASS=${3} DATABASE=${4} BACKUP_DIR=${5} MDUMP=`which mongodump` [ -z "${MDUMP}" ] && exit 200 [ -z "${BACKUP_DIR}" -o "${BACKUP_DIR}" == "/" ] && exit 200 [ -e "${BACKUP_DIR}/${DATABASE}" ] && rm -rf "${BACKUP_DIR}/${DATABASE}" [ ! -e "${BACKUP_DIR}/${DATABASE}" ] && mkdir -p "${BACKUP_DIR}/${DATABASE}" >/dev/null HOST= [ -n "${DBHOST}" ] && HOST="-h ${DBHOST}" USER= [ -n "${DBUSER}" ] && USER="-u ${DBUSER}" PASS= [ -n "${DBPASS}" ] && PASS="-p ${DBPASS}" DB= [ -n "${DATABASE}" -a "${DATABASE}" != "all" ] && DB="-d ${DATABASE}" $MDUMP ${HOST} ${USER} ${PASS} ${DB} -o "${BACKUP_DIR}/${DATABASE}" >/dev/null [ $? -ne 0 ] && exit 100 tar -czf "${BACKUP_DIR}-${DATABASE}.tgz" "${BACKUP_DIR}/${DATABASE}" >/dev/null 2>&1 ret=$? rm -rf "${BACKUP_DIR}" >/dev/null exit ${ret}