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 sont effectuées manuellement avec le service de backups de Yunohost yunohost backup create. Les fichiers résultants, situés dans /home/yunohost.backup/archives, sont ensuite copiés manuellement sur d'autres disques : Freebox maison, NAS distant Hervé.

Parallèlement, une copie complète du système Raspbian est sauvegardée avec rsync tous les jours à 02:40 par le cron root, via un script dédié.

:!: 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 compliqués à restaurer dans le plan de reprise d'activité actuel.

FIXME De plus, la restauration de Nextcloud est lourde en raison d'une BDD jointe aux fichiers. La procédure est décrite dans la documentation Nextcloud . Il faut intégrer la commande sudo mysqldump –single-transaction -p nextcloud > nextcloud-sqlbkp_`date +“%Y%m%d”`.bak avec le mot de passe situé dans /etc/yunohost/mysql au script de sauvegarde.

D'une manière générale, les bases de données doivent être sauvegardées en plus des fichiers, cf ce post

L'intégration de cette commande est en cours, avec un premier test le 07-06-2018, d'après ce lien.

:!: 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 RSync

L'automatisation des sauvegardes 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 met en place de clés SSH sans phrase de passe (dans le dossier /home/pi/.ssh) dont la clé publique est envoyée au NAS avec ssh-send-id, pour le compte “admin@NASHervé”

Puis la sauvegarde se fait en synchronisation à distance avec la commande rsync. Pour pouvoir lire l'ensemble des fichiers à sauvegarder, la commande sera lancée par root. Par conséquent, il faut copier les clés de l'utilisateur 'pi' vers le dossier /root/.ssh pour bénéficier de la connexion sans mot de passe. La commande finale est alors :

rsync -azPvH –exclude-from=/usr/local/src/RsyncExclusions.txt –delete-during –bwlimit=2.1m / admin@NASHervé:/share/homes/Elias/Rsync » /var/log/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.

Cette commande combine le meilleur des liens suivants :

La Freebox ADSL est limitée en upload, d'où le –bwlimit. L'historique des transferts est loggué dans un fichier dédié, avec un timestamp par la commande date » /var/log/rsync.log (FIXME à vider régulièrement). Enfin, on automatise l'ensemble du script en l'appelant via le daemon CRON du root : sudo crontab -e avec 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 bouger, 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.

Liens utiles à consulter pour compléter :

adminsys/sauvegardes.1528384593.txt.gz · Dernière modification : 2018/06/07 17:16 de jaxom