MongoDB → Резервное копирование данных

Задача: настроить резервное копирование данных из MongoDB, с созданием архивов по датам и выгрузкой по FTP.

Пример реализации mongo_backup.sh:

#!/bin/sh
# переменные
DATE=`date "+%Y-%m-%d"`
dest_dir="/backup/dir"

# настройки подключения
mongo_server="127.0.0.1"
mongo_db="database"
mongo_username="user"
mongo_password="password"

# создаем врем.каталог, делаем дамп, архивируем, удаляем каталог
mkdir -p $dest_dir/mongo-$DATE
mongodump -h $mongo_server -d $mongo_db -u $mongo_username -p $mongo_password -o $dest_dir/mongo-$DATE
cd $dest_dir && tar czvf mongo-$DATE.tgz mongo-$DATE
rm -r $dest_dir/mongo-$DATE
# выгрузка по FTP
wput -q mongo-$DATE.tgz ftp://ftp-server/backup/
echo "Backup 'mongo-$DATE.tgz' - OK"

Варинат с ротацией: https://github.com/micahwedemeyer/automongobackup