🐧 Скрипт shell для резервного копирования базы данных MongoDB — Information Security Squad
🐧  Скрипт shell для резервного копирования базы данных MongoDB
MongoDB — это кроссплатформенный, ориентированный на документы сервер баз данных NoSql.
В этом руководстве вы найдете скрипт оболочки для резервного копирования базы данных MongoDB.
Скрипт также удаляет резервные копии с сервера старше указанного дня.
Вы можете скопировать этот скрипт:
!/bin/bash


######################################################################

##

##   MongoDB Database Backup Script 

##   Written By: Rahul Kumar

##   Update on: June 20, 2020

##

######################################################################

export PATH=/bin:/usr/bin:/usr/local/bin

TODAY=`date +"%d%b%Y"`


######################################################################

######################################################################

DB_BACKUP_PATH='/backup/mongo'

MONGO_HOST='localhost'

MONGO_PORT='27017'


# If mongodb is protected with username password.

# Set AUTH_ENABLED to 1 

# and add MONGO_USER and MONGO_PASSWD values correctly

AUTH_ENABLED=0

MONGO_USER=''

MONGO_PASSWD=''

# Set DATABASE_NAMES to "ALL" to backup all databases.

# or specify databases names seprated with space to backup 

# specific databases only.

DATABASE_NAMES='ALL'

#DATABASE_NAMES='mydb db2 newdb'

## Number of days to keep local backup copy

BACKUP_RETAIN_DAYS=30   

######################################################################

######################################################################

mkdir -p ${DB_BACKUP_PATH}/${TODAY}

AUTH_PARAM=""

if [ ${AUTH_ENABLED} -eq 1 ]; then

AUTH_PARAM=" --username ${MONGO_USER} --password ${MONGO_PASSWD} "

fi

if [ ${DATABASE_NAMES} = "ALL" ]; then

echo "You have choose to backup all databases"

mongodump --host ${MONGO_HOST} --port ${MONGO_PORT} ${AUTH_PARAM} --out ${DB_BACKUP_PATH}/${TODAY}/

else

echo "Running backup for selected databases"

for DB_NAME in ${DATABASE_NAMES}

do

mongodump --host ${MONGO_HOST} --port ${MONGO_PORT} --db ${DB_NAME} ${AUTH_PARAM} --out ${DB_BACKUP_PATH}/${TODAY}/

done

fi

######## Remove backups older than {BACKUP_RETAIN_DAYS} days  ########

DBDELDATE=`date +"%d%b%Y" --date="${BACKUP_RETAIN_DAYS} days ago"`


if [ ! -z ${DB_BACKUP_PATH} ]; then

      cd ${DB_BACKUP_PATH}

      if [ ! -z ${DBDELDATE} ] && [ -d ${DBDELDATE} ]; then

            rm -rf ${DBDELDATE}

      fi

fi


######################### End of script ##############################

Расписание резервного копирования MongoDB

Вы можете легко запланировать этот скрипт в crontab для регулярного резервного копирования баз данных.

0 2 * * * /backup/mongo-backup.sh

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *