Yunohost est une super solution d’auto-hébergement, j’y reviendrai. Et qui dit auto-hébergement dit responsabilité. En particulier la responsabilité de ne pas perdre de données, en cas de panne matérielle pour ne citer qu’un exemple.

Yunohost propose une solution simple pour lancer une sauvegarde depuis l’interface d’administration, mais ça demande donc un geste manuel. Alors autant automatiser tout cela.

J’ai créé un petit script pour effectuer des sauvegardes automatiques. Mon script supprime les anciennes sauvegardes en conservant certaines versions : la veille, l’avant veille, le dimanche précédent, le premier du mois, et le premier du mois précédent.

#!/bin/bash

# Creates a backup and removes some of the previous backups
# Backups are created with the following prefix
PREFIX="automatic-"
# All backups with the previous prefix are deleted except the following dates
TODAY=`date '+%Y-%m-%d'`
YESTERDAY=`date -d "yesterday" '+%Y-%m-%d'`
DAY_BEFORE_YESTERDAY=`date -d "2 days ago" '+%Y-%m-%d'`
LAST_SUNDAY=`date -d "last Sunday" '+%Y-%m-%d'`
BEGINNING_OF_MONTH=`date '+%Y-%m-01'`
BEGINNING_OF_LAST_MONTH=`date -d "last month" '+%Y-%m-01'`

yunohost backup create -n $PREFIX$TODAY
cd /home/yunohost.backup/archives
rm `ls | grep $PREFIX | grep -v "$TODAY\|$YESTERDAY\|$DAY_BEFORE_YESTERDAY\|$LAST_SUNDAY\|$BEGINNING_OF_MONTH\|$BEGINNING_OF_LAST_MONTH"`
yunohost backup list

Vous pouvez déposer ce script dans le répertoire /etc/cron.daily et il s’exécutera tous les jours. Il devrait aussi vous envoyer un mail tous les jours pour vous permettre de constater que le script fonctionne.

Ce script devrait donc vous fournir un premier niveau de protection en cas de perte de données. Je vous invite toutefois à deux précautions supplémentaires :

  • testez régulièrement vos sauvegardes pour s’assurer qu’il est possible de les restaurer (avec une machine virtuelle, c’est super simple et rapide à faire) ;
  • rapatrier les sauvegardes régulièrement sur un autre serveur, si possible délocalisé (chez un ami de confiance, chez vos parents, chez un hébergeur…) pour pouvoir les récupérer en cas de gros pépin (incendie, cambriolage, etc.)

J’espère que ceci vous aidera à minimiser l’impact d’un futur problème…


Souces : mon post sur le forum de Yunohost.
Photo by Samuel Zeller on Unsplash

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.