Plakar Cleaner

plakar_cleaner.py est un script Python conçu pour gérer et nettoyer automatiquement les instantanés de sauvegarde créés avec Plakar. Il applique une politique de rétention configurable par dépôt et par chemin de sauvegarde, vous aidant à maintenir un historique de sauvegardes propre et efficace.

Fonctionnalités

  • Nettoyage Automatisé : Supprime les anciens instantanés Plakar en se basant sur des règles de rétention horaires, journalières, hebdomadaires, mensuelles et annuelles.
  • Configuration Flexible : Configurez la politique de rétention via des arguments de ligne de commande ou un fichier de configuration INI.
  • Internationalisation : Messages d'affichage disponibles en anglais (par défaut) et en français.
  • Mode Simulation/Confirmation : Affiche les instantanés à supprimer avant l'exécution, avec une option de confirmation ou de suppression automatique.

Prérequis

  • Python 3
  • Plakar : L'outil de sauvegarde Plakar doit être installé et accessible dans votre PATH.

Installation

  1. Cloner le dépôt :
    git clone https://codeberg.org/spn109/Plakar_Cleaner.git
    cd Plakar_Cleaner
  2. Assurez-vous que le script est exécutable :
    chmod +x plakar_cleaner.py

Utilisation

./plakar_cleaner.py --help

Exemples d'utilisation

1. Nettoyer un dépôt avec la politique de rétention par défaut (et confirmation) :

./plakar_cleaner.py --repo my_plakar_repo

2. Nettoyer un dépôt sans confirmation (dangereux !) :

./plakar_cleaner.py --repo my_plakar_repo --yes

3. Utiliser un fichier de configuration pour le dépôt et la politique :

Créez un fichier config.ini (voir la section "Fichier de Configuration" ci-dessous) :

./plakar_cleaner.py --config /path/to/your/config.ini

4. Définir une politique de rétention personnalisée via la ligne de commande :

(Les arguments de ligne de commande ont priorité sur le fichier de configuration)

./plakar_cleaner.py --repo my_plakar_repo --daily 3 --weekly 2 --monthly 6

5. Afficher les messages en français :

./plakar_cleaner.py --repo my_plakar_repo --lang fr

Fichier de Configuration (Exemple config.ini)

Vous pouvez spécifier le dépôt Plakar et la politique de rétention dans un fichier INI :

[my_plakar_repo]
hourly = 24
daily = 7
weekly = 4
monthly = 12
yearly = 5

Politique de Rétention

La politique de rétention est appliquée par dépôt et par chemin de sauvegarde. Pour chaque chemin unique, le script conservera le nombre spécifié de sauvegardes pour chaque intervalle de temps :

  • --hourly : Nombre de sauvegardes horaires à conserver.
  • --daily : Nombre de sauvegardes journalières à conserver.
  • --weekly : Nombre de sauvegardes hebdomadaires à conserver.
  • --monthly : Nombre de sauvegardes mensuelles à conserver.
  • --yearly : Nombre de sauvegardes annuelles à conserver.

Valeurs par défaut :

  • Horaire : 24
  • Journalier : 7
  • Hebdomadaire : 4
  • Mensuel : 12
  • Annuel : 5

Auteur

Licence

Ce projet est distribué sous la Licence Apache 2.0.

Donation

Si vous trouvez ce projet utile, vous pouvez soutenir son développement via Leetchi.