1. Objectif Général
L'outil Kitview Backup V15 est un programme automatisé conçu pour effectuer des sauvegardes sécurisées de bases de données Firebird. Son approche consiste à réaliser une copie physique des fichiers de base de données, organisée dynamiquement par jour de la semaine, tout en garantissant au préalable que la base n'est pas corrompue.
2. Modes d'Exécution
Le programme intègre une fonction d'auto-élévation : s'il n'est pas lancé en tant qu'administrateur, il demandera automatiquement les droits nécessaires. Il dispose de deux modes de fonctionnement :
Mode Interface Graphique (GUI) : Mode par défaut lors du lancement manuel. Il affiche une fenêtre avec un bouton de démarrage et un terminal à fond noir affichant la progression et les journaux en temps réel.
Mode Automatique (CLI) : S'active en passant l'argument
--autolors de l'exécution. Ce mode est silencieux (sans interface) et redirige tous les retours directement vers le fichier de journalisation, ce qui le rend idéal pour le Planificateur de Tâches Windows.
3. Configuration via le Fichier backup_paths.ini
Le fonctionnement de l'outil est dicté par le fichier de configuration backup_paths.ini.
Lecture des Profils : Le script lit toutes les sections du fichier INI, en ignorant spécifiquement les sections nommées
CLIENTet/?.Variables Requises : Pour chaque profil valide, le programme recherche la clé
BDD_PATH(chemin de la base de données source) et la cléBACKUP_PATH(le dossier racine où la sauvegarde doit être effectuée).
4. Déroulement du Processus de Sauvegarde
Pour assurer une copie propre et sans verrouillage, le processus suit ces étapes strictes :
Préparation du Système : Le programme arrête le service
KitviewProxyServiceet force la fermeture des processus clients associés (Kitview.exe,KitviewClient.exe,KitviewWPF.exe, etKitProxySrv.exe).Vérifications Préalables : Avant toute opération sur la base, le programme vérifie que l'espace disque disponible est au moins 2,5 fois la taille de la base, et que les droits d'écriture dans le dossier de destination sont valides.
Isolement de la Base (Mise hors ligne) : L'outil lit d'abord l'en-tête de la base avec
gstat -hpour connaître son état réel, puis utilisegfix -shutpour déconnecter les utilisateurs restants et passer la base en mode hors ligne.Procédure Anti-Blocage : Si la mise hors ligne échoue, le programme effectue automatiquement un cycle en-ligne → hors-ligne pour forcer la libération des verrous, sans redémarrer le service Firebird.
Vérification d'Intégrité : Avant de copier quoi que ce soit, une simulation de sauvegarde est effectuée avec
gbak -b -vvers une destination nulle (NUL) avec un délai maximum de 900 secondes. Cela permet de garantir que la base est saine.Copie Physique (Rotation par Jour) : Si l'intégrité est confirmée, le programme crée automatiquement un sous-dossier portant le nom du jour actuel en français (ex : « Lundi », « Mardi ») dans le chemin de destination, puis y copie le fichier. La taille du fichier copié est affichée dans le journal pour confirmer que la sauvegarde est complète.
Remise en Ligne Garantie : Une fois la copie terminée, la base est remise en production via
gfix -online. Cette opération est garantie même en cas d'erreur inattendue pendant le traitement, ce qui évite qu'une base reste bloquée en mode hors ligne.Finalisation : Le service
KitviewProxyServiceest redémarré. Si le proxy fonctionnait en tant que processus indépendant (et non comme service), il est également relancé automatiquement.
5. Journalisation et Rapports d'Erreur
Fichier de Trace : L'ensemble des opérations, succès et erreurs, est enregistré avec l'heure exacte dans un fichier local nommé
backup_trace_all.txt.Séparateurs de Session : À chaque lancement, un en-tête bien visible incluant la date, l'heure et la version (V15) est ajouté au fichier journal pour distinguer facilement chaque session de sauvegarde.
Protection des Données Sensibles : Le mot de passe de connexion à Firebird n'apparaît jamais dans les journaux — il est automatiquement remplacé par
***dans toutes les commandes tracées.Alerte E-mail : En cas d'erreur détectée, un rapport est envoyé automatiquement par e-mail à l'équipe support avec le fichier journal en pièce jointe. Aucune action manuelle n'est nécessaire.
Commentaires
0 commentaire
Vous devez vous connecter pour laisser un commentaire.