Để 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à username và password để 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