Sauvegardes automatiques de gogocarto

Adapté de https://www.digitalocean.com/community/tutorials/how-to-back-up-restore-and-migrate-a-mongodb-database-on-ubuntu-14-04 mais avec la compression gzip.

Exemple pour sauvegarder
sudo mongodump --out /var/backups/mongobackups/`date +"%Y-%m-%d"`


Exemple pour restaurer
sudo mongorestore --db madb --drop /var/backups/mongobackups/2019-08-16/madb/


et théorie
--gzip
permet de compresser les données mais cela plantait la sauvegarde..

Sur le serveur


script de backup ftp

vi /root/backup.sh


#!/bin/bash
HOST=<host>
USER=<id>
PASSWORD=<pass>
KEEPBACKUPDAYS=10

# backup mongodb
mongodump --out /var/backups/mongobackups/`date +"%Y-%m-%d"`

# backup gogocarto files
tar -zcvf /var/backups/gogocarto-uploads/`date +"%Y-%m-%d"`.tar.gz /var/www/gogocarto/web/uploads/

# clean older backups
find /var/backups/mongobackups/ -mtime +$KEEPBACKUPDAYS -exec rm -rf {} \;
find /var/backups/gogocarto-uploads/ -mtime +$KEEPBACKUPDAYS -exec rm -rf {} \;

# compress and remplace existing on ftp
tar -zcvf /root/gogocarto-uploads.tar.gz /var/backups/gogocarto-uploads/
tar -zcvf /root/mongobackups.tar.gz /var/backups/mongobackups/
cd /root
lftp -u $USER,$PASSWORD $HOST -e "rm -r gogocarto;mkdir -p gogocarto;cd gogocarto;put mongobackups.tar.gz; put gogocarto-uploads.tar.gz; exit"

# remove local one
rm mongobackups.tar.gz gogocarto-uploads.tar.gz


petit cron de 3h01 du mat
sudo crontab -e


1 3 * * * /bin/bash /root/backup.sh