четверг, 3 августа 2017 г.

mongodb backup - bash

#!/bin/bash

DATESTAMP=$(date +%Y%m%d_%H%M)
LOG_FILE=/var/log/mongodb_backup/mongodb_backup.log
[[ ! -d /var/log/mongodb_backup ]] && mkdir /var/log/mongodb_backup
set -x
exec >${LOG_FILE} 2>&1

PID=$$
PID_FILE=/var/run/db_backup.pid
DB_HOST= DB_HOST_IP
DB_NAME='DB_NAME'
DUMP_PATH=/mongobck/tmp
DUMP_NAME=${DB_NAME}_${DATESTAMP}
S3_PATH='s3://mongodb-backups/'
LOGGER_TAG='mongodb_backup'

echo ""
echo "$(date): Starting MongoDB Backup"

[[ -f ${PID_FILE} ]] && (logger -sit ${LOGGER_TAG} "Instance of script already running. Exiting." && exit 99)
echo ${PID} > ${PID_FILE}

# Perform dump of mongo db
logger -sit "${LOGGER_TAG}" "Starting MongoDB backup of ${DB_NAME}"

/usr/bin/mongodump -h ${DB_HOST} --out ${DUMP_PATH}

logger -sit "${LOGGER_TAG}" "MongoDB Dump return $?."

# Compress mongo db
cd /mongobck/
tar -czvf ${DUMP_NAME}.tgz ${DUMP_PATH} && rm -rf ${DUMP_PATH}/*

# Copy compressed mongo db dump to s3
aws s3 cp /mongobck/${DUMP_NAME}.tgz ${S3_PATH} && rm -rf /mongobck/${DUMP_NAME}.tgz
logger -sit "${LOGGER_TAG}" "Backup of MongoDB completed successfully."

echo "$(date): MongoDB Backup Complete"
rm -f $PID_FILE
exit 0

Комментариев нет:

Отправить комментарий

Bash: MySql backup (file per db), restore+ users and privileges

Backup Mysql DB (file per db) #!/bin/bash USER="root" databases=`mysql -u $USER -e "SHOW DATABASES;" | tr -d "|...