Skip to content

Instantly share code, notes, and snippets.

@sheharyarn
Last active December 12, 2024 15:16
Show Gist options
  • Save sheharyarn/0f04c1ba18462cddaaf5 to your computer and use it in GitHub Desktop.
Save sheharyarn/0f04c1ba18462cddaaf5 to your computer and use it in GitHub Desktop.
Mongodump Shell Script for Cronjob
#!/bin/bash
MONGO_DATABASE="your_db_name"
APP_NAME="your_app_name"
MONGO_HOST="127.0.0.1"
MONGO_PORT="27017"
TIMESTAMP=`date +%F-%H%M`
MONGODUMP_PATH="/usr/bin/mongodump"
BACKUPS_DIR="/home/username/backups/$APP_NAME"
BACKUP_NAME="$APP_NAME-$TIMESTAMP"
# mongo admin --eval "printjson(db.fsyncLock())"
# $MONGODUMP_PATH -h $MONGO_HOST:$MONGO_PORT -d $MONGO_DATABASE
$MONGODUMP_PATH -d $MONGO_DATABASE
# mongo admin --eval "printjson(db.fsyncUnlock())"
mkdir -p $BACKUPS_DIR
mv dump $BACKUP_NAME
tar -zcvf $BACKUPS_DIR/$BACKUP_NAME.tgz $BACKUP_NAME
rm -rf $BACKUP_NAME
@16g
Copy link

16g commented May 29, 2020

#!/bin/bash
mongo_dump_user="mongo_dump"
mongo_dump_password=""
mongo_dump_host="127.0.0.1"
mongo_dump_port="27017"
mongo_dump_db="db"
mongo_dump_storage="/storage/mongo/daily"


if [[ ! -e $mongo_dump_storage ]]
  then
    mkdir -p ${mongo_dump_storage}
  fi

echo "create backup" $(date +%Y-%m-%d)

mongodump --host ${mongo_dump_host} --db ${mongo_dump_db} --username ${mongo_dump_user} --password ${mongo_dump_password}  --gzip --archive=${mongo_dump_storage}/parser_$(date +%Y-%m-%d).gz

echo "remove old backup"
find ${mongo_dump_storage} -name "*.gz" -type f -mtime +30 -exec rm -f {} \;

@moschap
Copy link

moschap commented Jun 1, 2020

Hi @serverguru666, just wondering does mongoDB authenticationType have anything to do with this error that i get when i try mongodump using your connection format -
2020-05-31T23:53:02.921+0000 Failed: can't create session: could not connect to server: connection() : auth error: sasl conversation error: unable to authenticate using mechanism "SCRAM-SHA-256": (AuthenticationFailed) Authentication failed.

NB: The issue is that the command doesn't want me to add --password as plaintext, if i remove the --password flag it prompts me for password and works ok.

@Mathur777
Copy link

How to delete after 1 week please let me know..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment