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: