Le Wiki de Tchack

Guides et documentation sur le serveur tchack.xyz

Outils pour utilisateurs

Outils du site


adminsys:sauvegardes

Ceci est une ancienne révision du document !


Sauvegardes

Des sauvegardes peuvent être effectuées manuellement ou automatiquement avec l'outil de backups de Yunohost yunohost backup create. Celui-ci crée une archive datée dans le répertoire /home/yunohost.backup/archives.

Parallèlement, une copie complète du système est sauvegardée à distance avec rsync quotidiennement, via un script dédié.

Enfin, un backup avec Borg est en cours de mise en place, pour faire une copie VPS → Rpi et Rpi → NAS.

:!: Les éléments du système hors Yunohost, tels l'appli RPi-Monitor, les clés SSH, les comptes utilisateurs du serveur, les journaux d'installation… ne sont pas sauvegardés par le service de Yunohost. Ils sont donc plus compliqués à restaurer dans le plan de reprise d'activité actuel.

:!: Pour des raisons de performance, les sauvegardes tout comme les serveurs ne sont pas chiffrées.

NB: La procédure “distante” a été copiée avec succès lors du déploiement du VPS.

:!: L'automatisation est un point clé de la survie et de la qualité du serveur : le P.R.A. doit être testé régulièrement ( FIXME fonctionnement partiel au 18/12/2017).

Automatisation Locale

Un premier script est appelé chaque dimanche par cron, il crée une archive de sauvegarde avec l'outil de yunohost. Les réglages et les applications sont ainsi sauvegardées dans deux archives distinctes, à l'exception de Nextcloud (qui serait trop lourd avec les data).

Les archives sont préfixées “auto-”, et automatiquement supprimées au fur et à mesure. Le script conserve 1 copie à J-7 et à J-30.

Automatisation distante

L'automatisation des sauvegardes distantes vers le NAS de Hervé est en place selon le protocole suivant :

  • Il faut tout d'abord pouvoir s'y connecter sans mot de passe : pour cela on place une clé SSH sans phrase de passe (dans le dossier /home/pi/.ssh) dont la clé publique est envoyée au NAS avec ssh-copy-id, pour le compte “admin@NASHervé”.
  • Pour pouvoir lire l'ensemble des fichiers à sauvegarder sur le système, le script de sauvegarde sera lancée par root. Par conséquent, il faut copier les clés SSH de l'utilisateur 'pi' vers le dossier /root/.ssh pour se connecter au NAS sans mot de passe.

Base de données

La restauration de Nextcloud est lourde en raison d'une BDD jointe aux fichiers. La procédure est décrite dans la documentation Nextcloud. Et d'une manière générale pour Yunohost, les bases de données doivent être sauvegardées en plus des fichiers, cf ce post.

On réalise donc, avant la sauvegarde quotidienne, une copie de l'ensemble des tables de la base de données, en utilisant la commande mysqldump et l'authentification selon ce lien. Le mot de passe maître de MySQL est copié depuis /etc/yunohost/mysql.

Rsync

Puis la sauvegarde brute se fait en push avec la commande rsync suivante :

rsync -azPvH –exclude-from=/usr/local/src/RsyncExclusions.txt –delete-during –bwlimit=2.1m / admin@NASHervé:/share/homes/Elias/Rsync » /var/log/rsyncSaveHerve/rsync.log

Options : -a pour archiver, -z pour compresser, -P pour avoir des barres de chargement et les transferts partiels, -v pour être verbeux, -H pour préserver les liens durs, –bwlimit pour limiter l'upload et ne pas saturer la connexion ADSL. Le fichier RsyncExclusion.txt liste les dossiers inutiles à sauvegarder, tels /tmp* ou /proc*.

Monitoring

L'historique des transferts est loggué dans un fichier dédié, avec un timestamp initial et final par la commande date » /var/log/rsyncSaveHerve/rsync.log. L'historique du fichier de log est géré par le service UNIX logrotate. Enfin, on automatise l'ensemble du script en l'appelant via le daemon CRON du root : sudo crontab -e et on ajoute la ligne suivante 30 3 * * * /usr/local/src/Rsync-SaveYH.sh.

Le contenu du script Rsync-SaveYH.sh est récupérable sur cette page.

8-) Pour plus de confort, un SMS est envoyé à l'administrateur en fin de sauvegarde, avec le temps d'opération, via l'API du service SMS-FreeMobile.

:!: L'adresse IPv4 du NASHervé peut changer, mais son URL fixe est fournie par le service Qnap. Ce service peut limiter le débit des transferts de longue durée. Une vigilance est à mener sur ce point, avec l'utilisation éventuelle du service https://api.ident.me et d'un script coté NAS pour utiliser l'IP directement.

Documentation

adminsys/sauvegardes.1549623423.txt.gz · Dernière modification : 2019/02/08 11:57 de jaxom