Backup MongoDB Với Bash Script

Để thực hiện 1 task vụ tự động trên môi trường server, bạn sẽ sài tới script bash để làm việc này.
Đây là đoạn script thiết lập việc backup mongoDB với tham số truyền vào là usernamepassword để truy cập mongoDB database của bạn. Chỉ với 1 bash script đơn giản, và setup crontab để thực hiện việc này tự động, dữ liệu của chúng ta đã được backup hàng ngày.

#!/bin/bash
 
MONGO_DATABASE="umbala"
APP_NAME="new-umbala"

MONGO_HOST="127.0.0.1"
MONGO_PORT="27017"
TIMESTAMP=`date +%F-%H%M`
MONGODUMP_PATH="/usr/bin/mongodump"
BACKUPS_DIR="/backup/mongo/$APP_NAME"
BACKUP_NAME="$APP_NAME-$TIMESTAMP"
 

if [ "$1" != "" ] && [ "$2" != "" ]
then
	$MONGODUMP_PATH --username $1 --password $2 --authenticationDatabase admin  -d $MONGO_DATABASE
	 
	mkdir -p $BACKUPS_DIR
	mv dump $BACKUP_NAME
	tar -zcvf $BACKUPS_DIR/$BACKUP_NAME.tgz $BACKUP_NAME
	rm -rf $BACKUP_NAME
	echo "Backup db successfull"
else
	echo "Vui lòng nhập username và password"
fi

 

Lưu lại file trên ví dụ: backup_mongodb.sh

Bước đầu tiên upload file này lên host của bạn

Setup quyền thực thi cho filebackup_mongodb.sh này bằng lệnh: chmod +x backup_mongodb.sh

Để chạy backup_mongodb.sh, ở mà hình terminal bạn gõ: ./backup_mongodb.sh username password

Để bash script tự động chạy hằng ngày. Bạn setup crontab để làm việc này:

# Everyday at 1 a.m.
00 01 * * * /bin/bash /home/username/scripts/backup_mongodb.sh

Điều này có nghĩa là bash script này sẽ được thực thi hàng ngày vào lúc 1h sáng

Rate this post

About the Author: truongluu

Leave a Reply

Your email address will not be published. Required fields are marked *