1. Objectif Général
L'outil Firebird Maintenance Tool est un utilitaire automatisé conçu pour optimiser, réparer et garantir l'intégrité des bases de données Firebird (.fdb). Son objectif principal est d'effectuer un cycle séquentiel de "Backup & Restore" (sauvegarde puis restauration) sur l'ensemble des bases de données d'un client. Ce processus de reconstruction permet de compacter la base, de corriger d'éventuelles corruptions mineures et de recalculer les index.
L'outil est conçu pour fonctionner de manière autonome, en gérant de façon sécurisée l'arrêt des services liés, le remplacement des fichiers et la notification en cas d'échec.
2. Modes d'Exécution
Le programme peut être lancé de deux manières différentes selon le cas d'usage :
Mode Interface Graphique (GUI) : C'est le mode par défaut au double-clic. Il ouvre une fenêtre permettant de visualiser les profils détectés, de suivre la progression (barre de chargement et terminal intégré) et de lancer la maintenance. Il permet également d'exécuter une "Tâche Manuelle" sur une base de données spécifique avec l'option d'une sauvegarde de sécurité préalable. L'élévation des privilèges administrateur est demandée automatiquement.
Mode Ligne de Commande (CLI) : S'active en exécutant le script avec l'argument
cli(ex:firebird_maintenance_tool.exe cli). Ce mode s'exécute de manière invisible en arrière-plan et est conçu spécifiquement pour le Planificateur de Tâches Windows. Attention : Ce mode exige que la tâche planifiée soit configurée avec l'option "Exécuter avec les privilèges les plus élevés".
3. Configuration via le Fichier BacRes.ini
Le programme est entièrement dynamique et ne contient pas de chemins en dur. Il s'appuie sur un fichier de configuration nommé BacRes.ini situé dans le même répertoire.
Détection des Profils : Le script lit toutes les sections du fichier INI. Toute section contenant à la fois une clé
BDD_PATH(chemin de la base) etBACKUP_PATH(dossier de destination) est considérée comme un profil valide à traiter.Sections Réservées :
[SETTINGS]: Permet de forcer la langue de l'interface (ex:language=fr).[CLIENT]: Contient les informations d'identification du client (nombre,id_licencia). Ces données sont cruciales pour l'identification lors de l'envoi des rapports d'erreur.
4. Déroulement du Processus de Maintenance
Pour chaque profil détecté, le processus suit un flux de travail strict et sécurisé :
Pré-vérification (Sanity Check) : Le programme vérifie l'existence des fichiers, teste les permissions d'écriture dans le dossier de sauvegarde et s'assure qu'il y a suffisamment d'espace disque (environ 2.5 fois la taille de la base de données).
Arrêt des Services (Étape B) : Pour éviter toute corruption, le script identifie et arrête proprement le service
KitviewProxyServiceou le processusKitProxySrv.exeafin de libérer la base de données.Coupure des Connexions (Étape A) : Utilise l'outil Firebird
gstatpour vérifier si la base est en cours d'utilisation, etgfixpour forcer la fermeture de toute connexion restante (Shutdown).Cycle de Backup & Restore Sécurisé (Étapes C & D) :
Backup : Génération d'une sauvegarde de la base avec
gbakvers un fichier temporaire.fbk.Restore : Restauration de cette sauvegarde vers un nouveau fichier temporaire
.tmp.fdb. La base originale n'est pas encore touchée.Remplacement (Swap) : C'est l'étape critique. L'ancienne base de données est renommée en
.old, puis la nouvelle base fraîchement restaurée prend le nom officiel.Nettoyage automatique : Pour libérer de l'espace disque, le programme supprime l'ancien fichier
.oldainsi que le fichier de sauvegarde temporaire.fbk.
Redémarrage des Services (Étape E) : Une fois toutes les bases traitées, le service ou processus arrêté à l'étape 2 est relancé automatiquement.
5. Journalisation et Rapports d'Erreur
L'outil intègre un système de suivi robuste pour assurer la traçabilité des opérations :
Fichier Log Local : Toutes les étapes, succès et erreurs sont horodatés et inscrits dans un fichier de journalisation nommé
maintenance_log.log, situé dans le dossier du programme. Les commandes Firebird exécutées y sont inscrites en masquant les mots de passe par mesure de sécurité.Alerte Email Automatique : Si une erreur critique survient (ex: échec d'un backup, base corrompue impossible à restaurer), le processus global est marqué en échec. À la fin de l'exécution, le script compile un e-mail contenant le nom et l'ID du client (issus du fichier INI), y attache le fichier de log complet et l'envoie silencieusement à l'adresse du support (support@kitview.com).
Commentaires
0 commentaire
Vous devez vous connecter pour laisser un commentaire.