How to Take MongoDB and MySQL Backups on Linux: Step-by-Step Scripts Explained

MySQL Backup Script on Linux:

 

#! /bin/bash

BACKUP_DIR="/root/mysql-dumps/"
MYSQL_USER="root"
MYSQL=/usr/bin/mysql
MYSQL_PASSWORD="mysql-root-password"
MYSQLDUMP=/usr/bin/mysqldump

databases=`$MYSQL --user=$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema|performance_schema)"`

for db in $databases; do
	$MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --databases $db | gzip > "$BACKUP_DIR/$db.gz"
done


Where to Place the Script:

mkdir -p /backup/mysql
nano /backup/mysql/mysql_backup.sh
chmod +x /backup/mysql/mysql_backup.sh

Run manually:
/backup/mysql/mysql_backup.sh

Running MySQL Backup via Acronis:

Use Execute a command before the backup:

This ensures MySQL dumps are completed before Acronis snapshot.
 
Field Value
Command /backup/mysql/mysql_backup.sh
Working Directory /backup/mysql
Arguments (Leave empty)
Fail backup if command fails Checked


 

 

 

 

 

MongoDB Backup Scripts on Linux

Preparing a Directory for Backups

sudo mkdir -p /backup/mongodb
sudo chmod 755 /backup/mongodb

Creating a Backup Script Using nano

nano /backup/mongodb/mongodb_backup.sh

Make the script executable:

chmod +x /backup/mongodb/mongodb_backup.sh
MongoDB Backup Script for Authentication-Enabled MongoDB

#!/bin/bash

DATE=$(date +"%Y-%m-%d")
BACKUP_DIR="/backup/mongodb/$DATE"
LOGFILE="/backup/mongodb/mongo_backup.log"

mkdir -p "$BACKUP_DIR"

mongodump \
--host localhost \
--port 27017 \
--username YOUR_USER \
--password 'YOUR_PASSWORD' \
--authenticationDatabase admin \
--authenticationMechanism SCRAM-SHA-256 \
--out "$BACKUP_DIR" >> "$LOGFILE" 2>&1

exit 0

MongoDB Backup Script for No-Authentication MongoDB

#!/bin/bash

DATE=$(date +"%Y-%m-%d")
BACKUP_DIR="/backup/mongodb/$DATE"
LOGFILE="/backup/mongodb/mongo_backup.log"

mkdir -p "$BACKUP_DIR"

mongodump \
--host localhost \
--port 27017 \
--out "$BACKUP_DIR" >> "$LOGFILE" 2>&1

exit 0

Running the Script Manually

/backup/mongodb/mongodb_backup.sh

Running the script via acronis: 

  1. Enable “Execute a command before the backup”

  2. Fill the fields:

Field Value
Command /backup/mongodb/mongodb_backup.sh
Working directory /backup/mongodb (optional)
Arguments Leave blank
Fail backup if command fails Checked

 

 

 

 

 

 

 

  1. Leave post-backup command as No, unless required

This ensures MongoDB backup runs before the Acronis backup.

  • backup, linux vps, linux server, linux security
  • 0 أعضاء وجدوا هذه المقالة مفيدة
هل كانت المقالة مفيدة ؟