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
txs:infra-p18 [2018/03/27 13:50] – [Rotation des sauvegardes] algilbertxs:infra-p18 [2018/05/19 17:05] (Version actuelle) – supprimée algilber
Ligne 1: Ligne 1:
-====== TX Printemps 2018 : Backup, Docker et Sécurité ====== 
- 
-===== Rotation des sauvegardes =====  
- 
-=== Introduction === 
- 
-Le conteneur chargé d'effectuer la rotation des sauvegardes est //backup-rotation//. Il se configure à l'aide du fichier //backup_data.json// qui doit être situé dans le même répertoire que le dockerfile. La création du conteneur se fait ensuite en compilant le dockerfile associé ''docker build .'' 
- 
-=== Configuration === 
- 
-La configuration du conteneur consiste à définir les fréquences de rotation pour chaque service installé.  
- 
-Exemple de fichier JSON : 
- 
-<code> 
-{ 
-  "wekan": 
-    { 
-      "Host": "wekan-db", 
-      "Port": "27017", 
-      "Database": "wekan", 
-      "Type": "mongo", 
-      "Folder": "wekan", 
-      "Cron" : "0 * * * *", 
-      "Init-Backup" : "0", 
-      "Backup-rota": 
-          { 
-              "Hour" : 24, 
-              "Day" : 7, 
-              "Week" : 4, 
-              "Month" : 12 
-          } 
-    }, 
-  "etherpad": 
-    { 
-      "Host": "etherpad-db", 
-      "Port": "3306", 
-      "User": "root", 
-      "Password": "lolilolilol", 
-      "Database": "--all-databases", 
-      "Type": "mysql", 
-      "Folder": "etherpad", 
-      "Cron" : "0 * * * *", 
-      "Options" : "--single-transaction", 
-      "Init-Backup" : "0", 
-      "Backup-rota": 
-          { 
-              "Hour" : 24, 
-              "Day" : 7, 
-              "Week" : 4, 
-              "Month" : 12 
-          } 
-    } 
-} 
-</code>  
- 
-Cette configuration indique que l'on souhaite effectuer de la rotation de sauvegarde pour deux services : //wekan-db// et //etherpad-db//. Chaque service doit définir un certain nombre d'attributs obligatoires :  
- 
-  * "Host": nom du service indiqué dans le fichier //docker-compose.yml// ; 
-  * "Port": port utilisé par le serveur de base de données ; 
-  * "Database": nom de la base de données ;  
-  * "Type": type de la base de données ;  
-  * "Folder": nom du dossier de sauvegarde du service ; 
-  * "Backup-rota": période de rotation voulue.  
- 
-=== Test du conteneur de rotation === 
- 
-Le script //fake_backups.py// permet de générer des fichiers vides, ayant leurs noms formatés comme suit : **AAAA-MM-JJHHmmSS** et comportant l'extension //.tar.gz//. Ces fichiers permettent de simuler des sauvegardes effectuées par le conteneur backup-rotation sans utiliser inutilement de l'espace disque. Le script reçoit deux paramètres : //-f// pour indiquer le chemin absolu du dossier dans lequel générer les fichiers et //-n// afin d'indiquer le nombre de fichiers que l'on souhaite créer. À partir du paramètre //-n// le script crée le premier fichier en le nommant selon la date actuelle, puis remonte d'une heure dans le temps afin de nommer le reste des fichiers jusqu'à arriver au nombre de fichiers spécifié par le paramètre //-n// 
- 
-Exemple :  
-<code> 
-./fake_backups.py -f /root -n 4 
-</code> 
- 
-Si le script est lancé le lundi 26 mars à 20h43 et 18s alors les fichiers suivants seront créés dans le dossier ///root// :  
- 
-2018-03-26204318.tar.gz 
- 
-2018-03-26194318.tar.gz 
- 
-2018-03-26184318.tar.gz 
- 
-2018-03-26184318.tar.gz 
- 
- 
  
  • txs/infra-p18.1522151421.txt.gz
  • (modification externe)