Rabu, 12 April 2017

Automatic Backup MongoDB dengan Mongodump, Shell Script, dan Cron

Pada kesempatan ini saya akan membagikan informasi mengenai cara backup MongoDB secara otomatis dengan Shell Script yang di trigger dengan Cron Job. Waktu backup bisa di atur, saya sarankan untuk melakukan backup sehari sekali. Script di bawah ini akan menghapus backup lama yang sudah berumur 7 hari.

Buka editor kesayangan anda, saya menggunakan nano.
nano mongo_backup.sh 
Kemudian, copy seluruh script di bawah ini kemudian simpan.
#!/bin/bash

APP_NAME="your_app_name"
MONGO_DATABASE="your_db_name"

MONGO_HOST="127.0.0.1"
MONGO_PORT="27017"
MONGO_PATH="/usr/bin/mongodump"
TIMESTAMP=`date +%F-%H%M`
BACKUP_DIR="/home/suryadi/backups/$APP_NAME"
BACKUP_NAME="$APP_NAME-$TIMESTAMP"

# mongo admin --eval "printjson(db.fsyncLock())"
# $MONGO_PATH -h $MONGO_HOST:$MONGO_PORT -d $MONGO_DATABASE
$MONGO_PATH -d $MONGO_DATABASE
# mongo admin --eval "printjson(db.fsyncUnlock())"

mkdir -p $BACKUP_DIR
mv dump $BACKUP_NAME
tar -zcvf $BACKUP_DIR/$BACKUP_NAME.tgz $BACKUP_NAME
rm -rf $BACKUP_NAME

find $BACKUP_DIR -mindepth 1 -mtime +7 -delete
Berikan hak akses eksekusi ke file mongo_backup.sh
chmod +x mongo_backup.sh
Buka file configurasi cron dengan perintah berikut ini.
crontab -e
Arahkan kursor ke baris paling akhir, kemudian copy script berikut. Jangan lupa untuk di sesuaikan dengan konfigurasi anda. Jika sudah silahkan simpan.
0 0 * * * /bin/bash /home/suryadi/tools/mongo_backup.sh
Script di atas akan di eksekusi oleh cron setiap hari jam 00:00 waktu local.

Sekian
Em Suryadi

Sumber:

Show Comments