txs:infra-p18

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édentes Révision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
txs:infra-p18 [2018/03/28 12:43] – principe de fonctionnement de rotate-backups algilbertxs:infra-p18 [2018/05/19 17:03] – [TX Printemps 2018 : Backup] algilber
Ligne 1: Ligne 1:
-====== TX Printemps 2018 : Backup, Docker et Sécurité ======+====== TX Printemps 2018 : Sauvegarde des base de données et rotation ====== 
  
-===== Backup ===== 
  
 ==== Configuration des sauvegardes et des rotations ==== ==== Configuration des sauvegardes et des rotations ====
Ligne 26: Ligne 26:
       "Cron" : "0 * * * *",       "Cron" : "0 * * * *",
       "Init-Backup" : "0",       "Init-Backup" : "0",
-      "Backup-rota":+      "Backup-Rota":
           {           {
               "Hour" : 24,               "Hour" : 24,
Ligne 46: Ligne 46:
       "Options" : "--single-transaction",       "Options" : "--single-transaction",
       "Init-Backup" : "0",       "Init-Backup" : "0",
-      "Backup-rota":+      "Backup-Rota":
           {           {
               "Hour" : 24,               "Hour" : 24,
Ligne 64: Ligne 64:
   * "Password" : mot de passe de la base de données ;    * "Password" : mot de passe de la base de données ; 
   * "Database": nom de la base de données ;    * "Database": nom de la base de données ; 
-  * "Type": type de la base de données ;+  * "Type": type de la base de données (mongo, mysql, postgre);
   * "Folder": nom du dossier de sauvegarde du service ;   * "Folder": nom du dossier de sauvegarde du service ;
   * "Cron" : indicateur de temps cron indiquant à quelle fréquence sont enregistrées les backups ;   * "Cron" : indicateur de temps cron indiquant à quelle fréquence sont enregistrées les backups ;
-  * "Backup-rota": période de rotation voulue, il est possible de définir 4 paramètres //Hour//, //Day//, //Week//, //Month//+  * "Backup-rota": période de rotation voulue, il est possible de définir 4 paramètres //Hour//, //Day//, //Week//, //Month//. 
 + 
 +Le fichier de configuration se trouve actuellement sur pica01-test dans le dossier 
 +<code bash> 
 + /DATA/CONFIG 
 +</code> 
  
 ==== Principe de fonctionnement de la rotation des sauvegardes ==== ==== Principe de fonctionnement de la rotation des sauvegardes ====
Ligne 86: Ligne 91:
  
 L'interprétation de la commande est la suivante : on souhaite conserver la sauvegarde la plus récente effectuée sur chaque heure pendant les dernières 24h (on conserve 24 backups si on en a au moins une par heure) , la sauvegarde la plus récente effectuée chaque jour pendant les 7 derniers jours (on conserve 7 backups si on en a au moins une par jour), la sauvegarde la plus récente effectuée sur chaque semaine pendant les 4 dernières semaines (on conserve 4 backups si on en a au moins une par semaine), et enfin la sauvegarde la plus récente effectuée chaque année pendant les 2 dernières années (on en a au moins deux si on a réalisé au moins une sauvegarde par année).  L'interprétation de la commande est la suivante : on souhaite conserver la sauvegarde la plus récente effectuée sur chaque heure pendant les dernières 24h (on conserve 24 backups si on en a au moins une par heure) , la sauvegarde la plus récente effectuée chaque jour pendant les 7 derniers jours (on conserve 7 backups si on en a au moins une par jour), la sauvegarde la plus récente effectuée sur chaque semaine pendant les 4 dernières semaines (on conserve 4 backups si on en a au moins une par semaine), et enfin la sauvegarde la plus récente effectuée chaque année pendant les 2 dernières années (on en a au moins deux si on a réalisé au moins une sauvegarde par année). 
 +
 +Le rôle du conteneur //backup-rotation// est de créer une tâche cron horaire pour chaque service défini dans le fichier de configuration JSON avec les périodes de rotation spécifiées. 
  
 ==== Test du conteneur de rotation ==== ==== Test du conteneur de rotation ====
Ligne 106: Ligne 113:
 2018-03-26184318.tar.gz 2018-03-26184318.tar.gz
  
 +
 +Pour tester ensuite le conteneur de rotation, il suffit d'indiquer le dossier dans lequel ont été générées les fausses backups dans le fichier //backup_data.json// en spécifiant les périodes de rotations voulues. 
 +
 +Exemple de configuration de test : 
 +
 +<code javascript backup_data.json>
 +{
 +"test_rotation":
 +    {
 +      "Folder": "test_rotation", # Dossier /DATA/BACKUP/test_rotation/
 +      "Backup-Rota":
 +          {
 +              "Hour" : 24,
 +              "Day" : 7,
 +              "Week" : 4,
 +              "Month" : 12
 +          }
 +    }
 +}      
 +</code>