Outils pour utilisateurs

Outils du site


matrix:backup

Backup

Les backups sont assurés par des scripts shell exécutés via cron.

Source des scripts

Les scripts sont maintenus dans ce dépôt: karthanistyr/matrix-maintenance-scripts

Description

backup-redux.sh

Ceci est le script principal, qui s'occupe de créer les archives de backup et les dépose aux endroits prévus.

La conception du script prévoit que chaque cycle de sauvegarde, une copie est placée localement sur le système de fichier du serveur matrix lui-même, et une autre copie est envoyée sur un serveur distant. Il n'y a pas, pour le moment, de mode alternatif.

Deux dossiers sont compressés:

  • Les données et fichiers de configuration (y compris les certificats et clés privées) du serveur matrix synapse
  • L'intégralité des fichiers de données de la base postgresql qui soutient le serveur matrix.

Ces deux archives sont placées dans un dossier portant la date et heure exactes du moment où le script s'est exécuté.

Ce dossier est ensuite placé:

  • Dans le dossier /home/save/matrix sur le serveur local
  • Dans le dossier /home/save/matrix du serveur distant (il s'agit pour le moment de web1.draak.fr)

prune-old-backups.sh

Ce script est responsable de garder sous contrôle l'accumulation de sauvegardes effectuées par backup-redux.sh.

Il détectera les dossiers dont le nom commence par matrix-backup et les classera par ordre alphabétique. Comme les dossiers portent la date et heure à laquelle ils ont été créés, ceci a pour effet corrollaire de les classer par ordre de création.

Le script supprimera tout sauf les n derniers dossiers de sauvegarde, assurant ainsi que la consommation de l'espace disque reste sous un niveau acceptable.

elect-weekly-backup.sh

Ce script sélectionne le dernier dossier de sauvegarde créé en date et le copie dans un dossier “weekly”, assurant ainsi une sauvegarde secondaire. L'intention est de faire s'exécuter ce script de manière hebdomadaire, pour supplémenter la sauvegarde quotidienne.

Configuration

Les scripts sont configurés pour exécution dans cron sur save1.draak.fr et web1.draak.fr.

save1.draak.fr (serveur matrix)

0 2 * * * /home/save/matrix/backup-redux.sh -o save -d /home/matrix/synapse-data -b /home/matrix/postgres-data -s /home/save/staging -l /home/save/matrix -r save@web1.draak.fr:matrix >> /home/save/logs/matrix-backup.log

0 4 * * * /home/save/matrix/prune-old-backups.sh -d /home/save/matrix -n 3 >> /home/save/logs/matrix-purge-daily.log

0 12 * * 7 /home/save/matrix/elect-weekly-backup.sh -d /home/save/matrix -w /home/save/matrix-weekly >> /home/save/logs/matrix-backup-weekly.log

0 13 * * 7 /home/save/matrix/prune-old-backups.sh -d /home/save/matrix-weekly -n 2 >> /home/save/logs/matrix-purge-weekly.log

web1.draak.fr (sauvegarde distante)

0 4 * * * /home/save/matrix/prune-old-backups.sh -d /home/save/matrix -n 1 >> /home/save/logs/matrix-purge-daily.log
matrix/backup.txt · Dernière modification: 2018/06/22 05:58 de karth