Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
playground:playground [2017/11/24 19:45] – kanabos | playground:playground [2021/01/08 23:03] (Version actuelle) – supprimée qduchemi | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ======Rotation des sauvegarde====== | ||
- | |||
- | L'une des problématiques de l' | ||
- | ===== L' | ||
- | L' | ||
- | |||
- | * **Pertinence** des sauvegardes choisies | ||
- | * le nombre de sauvegarde doit réduire au cours du temps selon une logique. | ||
- | * **Adaptabilité** du programme | ||
- | * Les scripts sont aisément modifiables pour faire de la gestion de sauvegarde sur d' | ||
- | * Les scripts disposent de paramètres (nombres de sauvegardes, | ||
- | * Le format attendu des date de sauvegarde est modifiable | ||
- | * **Simplicité** de fonctionnement | ||
- | |||
- | ===== La conception ===== | ||
- | Le premier objectif de conception a été de trouver une manière simple de sélectionner des sauvegardes pertinentes. | ||
- | |||
- | Suite au constat que les sauvegardes étaient produites de manière régulière, | ||
- | |||
- | < | ||
- | 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 | ||
- | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ||
- | |X | | | | | |X | | | | | |X | | | | | |X | | | | | | | ||
- | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ||
- | | ||
- | | ||
- | | ||
- | |||
- | Exemple : 4 sauvegardes sur 24 / jour | ||
- | </ | ||
- | La second objectif a été la définition des différents scripts : | ||
- | * Un premier script réduit le nombre de sauvegarde par jour sur les 6 jours précédents. | ||
- | * Aucune sauvegarde sur les dernières 24h ne sera supprimée par ce script. | ||
- | * Il est exécuté **tout les jours**. | ||
- | * Un second script réduit le nombre de sauvegarde de la semaine précédente. | ||
- | * Aucune sauvegarde sur les 7 derniers jours ne sera supprimée par ce script. | ||
- | * Il est exécuté **toutes les semaines**. | ||
- | * Enfin, un dernier script est exécuté toutes les 4 semaines pour réduire le nombre de sauvegardes sur 48 semaines. | ||
- | |||
- | Il est à remarquer qu'il est théoriquement suffisant pour chaque script de ne traiter que la période de temps la plus proche (jour, semaine, ...), c'est à dire la veille pour le script s' | ||
- | |||
- | Cependant, dans le cas ou un script ne peut être exécuté pour une raison quelconque (panne, machine éteinte) à l' | ||
- | |||
- | ===== La réalisation ===== | ||
- | |||
- | Le choix du langage Bash a été décidé pour l' | ||
- | - **Recensement** des dates utiles, la date de départ étant la plus récente. | ||
- | * '' | ||
- | * '' | ||
- | * '' | ||
- | - **Sélection** des sauvegardes à conserver dans chaque tableau (par calcul des indices) | ||
- | - **Suppression** des sauvegardes non conservées. | ||
- | |||
- | Les fonctions communes aux différents scripts sont issues de différents fichiers dans le dossier //lib // : | ||
- | * '' | ||
- | * Conversion de date entre : | ||
- | * le format de sauvegarde choisi, | ||
- | * le format Unix (utilisable avec le programme binaire date) | ||
- | * le format Timestamp (utile pour le calcul d' | ||
- | * Calcul de la différence entre deux dates dans n' | ||
- | * Ajout de quantité de temps (seconde, minute, heure, semaine) à une date | ||
- | * '' | ||
- | * '' | ||
- | |||
- | Par ailleurs, les scripts sont lancés automatiquement grâce à des tâches cron. | ||
- | ===== Mise en place ===== | ||
- | Les scripts mis en place au sein de l' | ||
- | * '' | ||
- | * '' | ||
- | |||
- | Étant donné que les scripts sont exécutés à la fin de la journée prévue, les résultats suivants sont attendus. | ||
- | |||
- | Pour '' | ||
- | < | ||
- | 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 | ||
- | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ||
- | |X | | | | | | | | | | | |X | | | | | | | | | | | | | ||
- | +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | ||
- | | ||
- | | ||
- | | ||
- | Légende : 2 sauvegardes sur 24 par jour de la semaine courante | ||
- | </ | ||
- | Pour '' | ||
- | < | ||
- | +------------+------------+------------+------------+------------+------------+------------+ | ||
- | | 23 11 | 23 11 | 23 11 | 23 11 | 23 11 | 23 11 | 23 11 | | ||
- | | +--+ +--+ | +--+ +--+ | +--+ +--+ | +--+ +--+ | +--+ +--+ | +--+ +--+ | +--+ +--+ | | ||
- | | |X | | | | |X | | | | |X | | | | |X | | | | |X | | | | |X | | | | |X | | | | | ||
- | | +--+ +--+ | +--+ +--+ | +--+ +--+ | +--+ +--+ | +--+ +--+ | +--+ +--+ | +--+ +--+ | | ||
- | | | | | | | | | | ||
- | +------------+------------+------------+------------+------------+------------+------------+ | ||
- | ^ | ||
- | | | ||
- | +-------------+------------+------------+------------+------------+------------+ | ||
- | |||
- | Légende : 7 sauvegardes sur 14 / semaine sur les 3 dernières semaines | ||
- | </ | ||
- | ===== Conclusion ===== | ||
- | |||
- | TODO | ||