mongodb backup script

mongodb backup scriptДнес ми се наложи да напиша един прост mongodb бекъп скрипт, който да може да архивира актуален бекъп, така и да трие по-старите от 30 дни файлове. Ето и самият скрипт, може би ще бъде полезен на някой .. 🙂

 

mongodb backup script

#!/bin/bash

cd /var/backups/mongodb/ && mongodump -o databasename
mv /var/backups/mongodb/databasename /var/backups/mongodb/databasename.`date "+%Y-%m-%d-%H%M"`
tar -zcvf /var/backups/mongodb/databasename.`date "+%Y-%m-%d-%H%M"`.tar.gz /var/backups/mongodb/databasename.`date "+%Y-%m-%d-%H%M"`
rm -rf /var/backups/mongodb/databasename.`date "+%Y-%m-%d-%H%M"`

echo "mongodb backup is completed"

#find all files alder than 30 days , and remove
find /var/backups/mongodb/databasename*.tar.gz -mtime +30 -exec rm {} \;

Пояснения

Предварително трябва да имаме създадена директория : /var/backups/mongodb/
databasename е името на базата на която ще правим бекъп
Триенето на стари файлове може да се регулира -mtime +30 значи файл по-стар от 30 дни (числото може да бъде сменено с каквото си искаме)

Накрая сложих скрипта в крон да се пуска всяка вечер и мисията е изпълнена 🙂

Това е..