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.

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

De même, la restauration de Nextcloud est lourde en raison d'une BDD jointe aux fichiers. La procédure est décrite ici : https://docs.nextcloud.com/server/12/admin_manual/maintenance/backup.html . Commande sudo mysqldump –single-transaction -p nextcloud > nextcloud-sqlbkp_`date +“%Y%m%d”`.bak avec le mot de passe situé dans /etc/yunohost/mysql à intégrer dans le rsync.

:!: 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.1517226232.txt.gz · Dernière modification : 2018/01/29 12:43 de jaxom