| 123456789101112131415161718192021222324252627282930313233343536 |
- #!/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}
|