Dropbox est un service de stockage et de partage de fichiers locaux en ligne, ce qui à pour avantage de récupérer les données de n’importe où.
Ici, je vais utiliser Dropbox comme destination de sauvegarde du blog memo-linux.com
Il faut au préalable se créer un compte sur Dropbox.
Ensuite, l’idéal est aussi installer Dropbox sur son PC.
Installation du daemon Dropbox
Pour pouvoir automatiser la sauvegarde, il faut que le daemon Dropbox soit actif sur le serveur.
les commandes sont exécutés sous un profile utilisateur « normal »
Pour une architecture 32-bit:
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -
Pour une architecture 64-bit:
cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -
Lancement du daemon:
~/.dropbox-dist/dropboxd
Un message d’erreur apparait:
Ce client n’est lié à aucun compte... Veuillez accéder à la page https://www.dropbox.com/cli_link?host_id=0243025622o54o2g5f1d47 pour lier cette machine.
Copier cette URL et la coller dans le navigateur et renseigner le mot de passe associé au compte Dropbox précédemment créer.
Une fois que c’est fais un autre message apparait:
Client lié avec succès. Bienvenue Fred !
A ce stade, un répertoire Dropbox est créé à la racine de l’utilisateur et le répertoire se synchronise avec Dropbox.
Préparation des répertoires de sauvegarde
Je vais créer deux répertoires pour la sauvegarde du blog, l’un pour la base de donnée et l’autre pour le site en lui même.
Pour commence le répertoire de sauvegarde:
mkdir /home/fred/Dropbox/sauvegarde
ensuite le réperoire pour la base de donnée:
mkdir /home/fred/Dropbox/sauvegarde/bdd
et le répertoire du site:
mkdir /home/fred/Dropbox/sauvegarde/www
Sauvegarde Blog WordPress sur Dropbox
adapter le script avec les chemins de Dropbox: https://memo-linux.com/script-shell-de-sauvegarde-blog-wordpress/
Ce qui donne par exemple dans mon cas:
#!/bin/bash
#
## on se place dans le repertoire ou l'on veut sauvegarder les bases
cd /home/fred/backup/
#
#on initialise la variable de temps
timestamp=$(date +%d-%m-%Y_%Hh-%Mmn-%Ss)
#
# dump de la base du blog
mysqldump -u root -pMDP blog --log-error=/var/log/mysql/dump-errors.log | gzip -f9 > $timestamp.BLOG.sql.gz
#
#ajout du log de la sauvegarde + les erreurs éventuelles
echo "Sauvegarde de la base blog: $timestamp.BLOG.sql.gz" > /var/log/sauv_sql.log
cat /var/log/mysql/dump-errors.log >> /var/log/sauv_sql.log
#
#on copy la base sur Dropbox
scp $timestamp.BLOG.sql.gz /home/fred/Dropbox/sauvegarde/bdd
#
#on synchronise la partie web du blog
rsync -avznu --delete --stats /var/www/blog/ /home/fred/Dropbox/sauvegarde/www/ >> /var/log/sauv_sql.log
#
#on nettoie les vielles sauvegardes de plus de 5 jours en local
find /home/fred/backup/bdd/ -name "*.sql*" -mtime +5 -exec rm -vf {} \;
#
#et sur Dropbox
find /home/fred/dropbox/sauvegarde/bdd/ -name "*.sql*" -mtime +5 -exec rm -vf {} \;
#
##on liste la sauvegarde effectuée et envoie du log par mail
ls -l /home/fred/backup/ >> /var/log/sauv_sql.log
mail -s [BLOG]Sauvegarde fred@domaine.tld </var/log/sauv_sql.log
One Comment