#!/bin/bash#```ops#title:mongo备份脚本#descr:#```#=====================================================================# Set the following variables as per your requirement#=====================================================================# Database Name to backupMONGO_DATABASE="test"# Database host nameMONGO_HOST="127.0.0.1"# Database portMONGO_PORT="27017"# Backup directoryBACKUPS_DIRS="/data/backups"BACKUPS_DIR="/data/backups/$MONGO_DATABASE"# Database user nameDBUSERNAME="11"# Database passwordDBPASSWORD="xxx@123"# Authentication database nameDBAUTHDB="admin"# Days to keep the backupDAYSTORETAINBACKUP="14"#=====================================================================TIMESTAMP=`date +%F-%H-%M`BACKUP_NAME="$MONGO_DATABASE-$TIMESTAMP"echo"Performing backup of $MONGO_DATABASE"echo"--------------------------------------------"# Create backup directoryif!mkdir-p$BACKUPS_DIR;thenecho"Can't create backup directory in $BACKUPS_DIR. Go and fix it!"1>&2exit1;fi;# Create dumpcd$BACKUPS_DIRS
/opt/mongodb/bin/mongodump -d$MONGO_DATABASE--username$DBUSERNAME--password$DBPASSWORD--authenticationDatabase$DBAUTHDB# Rename dump directory to backup namemv dump $BACKUP_NAME# Compress backuptar-zcvf$BACKUPS_DIR/$BACKUP_NAME.tgz $BACKUP_NAME# Delete uncompressed backuprm-rf$BACKUP_NAME# Delete backups older than retention periodfind$BACKUPS_DIR-type f -mtime +$DAYSTORETAINBACKUP-execrm{} +
echo"--------------------------------------------"echo"Database backup complete!"# crontab
00 00 * * * /usr/local/sbin/mongobackup.sh