Outils pour utilisateurs

Outils du site


amipo_documentation_backup

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
amipo_documentation_backup [2020/01/27 14:24] bigMaxamipo_documentation_backup [2020/10/09 07:04] (Version actuelle) – Tag0 Added: amipo serge
Ligne 1: Ligne 1:
 <markdown> <markdown>
  
-# Documentation des Backup AMIPO+# Documentation des Sauvegardes AMIPO
  
-## Choses backupés+## Réalisation des Sauvegardes 
 + 
 +### Fichiers sauvegardées
 *  Le schéma de la base de données  *  Le schéma de la base de données 
 *  Les données de la base de données *  Les données de la base de données
Ligne 12: Ligne 14:
  
  
-## Scripts de backup+### Scripts de Sauvegarde
 Les scripts de backups sont entreposés ici : https://framagit.org/amipo/amipo-admin-code/tree/master/backups Les scripts de backups sont entreposés ici : https://framagit.org/amipo/amipo-admin-code/tree/master/backups
 Actuellement il y a 2 scripts : Actuellement il y a 2 scripts :
Ligne 19: Ligne 21:
  
  
-## Principes du backup +### Principes de la Sauvegarde 
--  Création d'un nouveau dossier pour recueillir les fichiers à sauvegardées+-  Création d'un nouveau dossier pour recueillir les fichiers à sauvegardées dans le dossier conteneur de backups (/backups/nextcloud sur le FS / pour profiter de ses 20 GB que l'on ne peut pas réduire)
 -  Mise en mode maintenance de l'instance Nextcloud (mode maintenance ON) -  Mise en mode maintenance de l'instance Nextcloud (mode maintenance ON)
 -  Création du dump de la BD (schéma et data) -  Création du dump de la BD (schéma et data)
Ligne 31: Ligne 33:
  
  
-## Sécuritées+### Sécuritées
 -  Actuellement, la suppression des archives n'est effectué que pour les archives vieilles de plus de 7 jours, et si il existe au moins 7 fichiers présent dans le dossier contenant les archives. -  Actuellement, la suppression des archives n'est effectué que pour les archives vieilles de plus de 7 jours, et si il existe au moins 7 fichiers présent dans le dossier contenant les archives.
 -  Le script de backup ne plante pas en cas d'erreur de copie de fichiers pour tenter de backup le plus possibles de données. Pour chaque plantage durant une copie, un compteur est incrémenté pour indiquer le nombre d'erreur de copie dans le nom de l'archive et ainsi indiquer la "qualité" du backup. -  Le script de backup ne plante pas en cas d'erreur de copie de fichiers pour tenter de backup le plus possibles de données. Pour chaque plantage durant une copie, un compteur est incrémenté pour indiquer le nombre d'erreur de copie dans le nom de l'archive et ainsi indiquer la "qualité" du backup.
 +-  Si le script de backup vient à planter, on execute alors le script restore_nextcloud_maintenance.sh pour ne pas laisser l'instance nextcloud en mode maintenance.
 +-  Un rapport est envoyé par email après chaque déroulement des backups. Ce rapport contient les logs des scripts, et un état du dossier contenant les ancienes archives (nombre d'archives et espace disque restant).
  
-## Automatisation du Backup 
  
-## Todo Dump +### Automatisation de la Sauvegarde 
-Changer le schema de nextcloud (ne pas laisser dans public) + Le backup est automatisé par un cronjob de l'utilisateur www-data. Pour le voir : `crontab -l -u www-data`. Cela devrait être :  
-* Ne dumper que le schema nextcloud +``` cron 
-* Dumper le schema au format text et les data au format custom ? +# Nextcloud backup 
-* Changer le tar faire un cd avant le tar pour ne pas archiver les chemins absolus +0  2  *  *  * ( export PGPASSWORD="XXXXX"/var/amipo-admin-code/backups/backup_nextcloud.sh 2>&1 || /var/amipo-admin-code/backups/restore_nextcloud_maintenance.sh 2>&1 ) | mailx -s "[AMIPO Admin] Sorties de backup nocturne de Gits." admin
- +
-``` psql +
-set search_path to public,nextcloud; +
-alter schema public rename to nextcloud; +
-create schema public; +
-alter role nextcloud set search_path to nextcloud;+
 ``` ```
 +*  Le cronjob est exécuté chaque nuit à 02h00.
 +*  Les sorties d'erreur et standard du backup sont envoyés par email à l'alias admin qui est configuré dans /etc/aliases
 +
 +
 +### Sauvegarde de la base de données
 +*  Les sauvegardes de la base de données sont séparées en 2 fichiers : la structure et les données.
 +*  La sauvegarde de la structure des données est sauvegardé au format texte compressé (.psql.gz).
 +*  Les données sont sauvegardé au format custom postgres déjà compréssé (.custom), cela permet une restauration plus rapide.
 +*  On ne sauvegarde que le contenu du schéma "nextcloud".
 +*  Un utilisateur spécifique dans la BD réalise les sauvegardes : "nextcloud_backup" avec des privilèges minimaux.
  
-``` bash 
-pg_dump --username=nextcloud_backup -d nextcloud -h localhost --schema-only -n nextcloud | gzip > $BACKUP_DIR/schema-nextcloud-dump.psql.gz 
-pg_dump --username=nextcloud_backup -d nextcloud -h localhost --data-only -n nextcloud -Fc > $BACKUP_DIR/data-nextcloud-dump.custom 
-``` 
  
-## Restauration d'un backup+## Restauration d'une Sauvegarde
  
 ### Création de la BD dans lequel sera effectué la restauration ### Création de la BD dans lequel sera effectué la restauration
Ligne 116: Ligne 119:
  
 </markdown> </markdown>
 +{{tag>amipo}}
amipo_documentation_backup.1580135063.txt.gz · Dernière modification : 2020/01/27 14:24 de bigMax