Récemment, la bande de sauvegarde de la nuit précédente, lancé NTBackup, et commencé à regarder si le fichier apparaissait dans la fenêtre de restauration de NTBackup. J’ai ainsi appris à mes dépens que NTBackup ne donne pas le moyen d’explorer un catalogue de sauvegarde.
Collecter les données des systemes de fichiers
Face à ce problème, ma première idée a été de créer des rapports de sauvegarde détaillés en utilisant l’option /L:f de NTBackup. (Vous pouvez lire et télécharger mes scripts NTBackup dans l’article « Want a Flexible Automated Backup Solution? », sur le Club abonnés) Quand vous exécutez des sauvegardes avec cette option, NTBackup journalise le chemin complet et le nom de fichier pour chaque fichier dans la sauvegarde.
Cette méthode souffre néanmoins de quelques lacunes. La première est que les fichiers log peuvent être très volumineux, selon le genre de sauvegarde. Si vous envoyez par courriel ou imprimez un grand fichier log après une sauvegarde, vous risquez d’alourdir le trafic du réseau ou de consommer beaucoup de papier. Autre limitation, le fichier log ne donne pas la liste des tailles ou des dernières dates de modification des fichiers.
C’est pourquoi j’ai décidé de scripter ma propre solution qui construirait une base de données de fichiers en se basant sur le fichier backup selection (.bks) du job de sauvegarde. Quand vous créez un job NTBackup planifié, il crée un fichier texte Unicode avec une exception .bks qui contient la liste des fichiers et dossiers sélectionnés pour le job. Vous pouvez aussi créer un fichier .bks manuellement dans la GUI NTBackup si vous choisissez l’option Save Selections dans le menu Job.
J’ai décidé de voir si je pouvais ouvrir un fichier .bks, passer par chaque fichier et dossier sélectionné, et sauvegarder les noms de ces fichiers dans un fichier CSV (comma-separated value). Je pouvais utiliser l’objet File- SystemObject pour me connecter à chaque dossier ou fichier nommé dans le fichier .bks et utiliser les méthodes Write et WriteLine de l’objet TextStream pour sauvegarder les noms de ces fichiers dans un fichier de sortie. Mais j’ai constaté que les méthodes Write et WriteLine causent certains problèmes avec le contenu de la base de données.
Après avoir écrit une ligne dans un fichier texte, vous ne pouvez pas revenir en arrière et accéder à nouveau à la ligne sans fermer le fichier texte, le réouvrir et lire chaque ligne à partir du début du fichier. Cela pose un problème parce que les fichiers .bks contiennent des lignes qui finissent par la chaîne /Exclude pour indiquer que le dossier ou le fichier doit être exclu de la sauvegarde. Si mon script utilisait l’objet FileSystemObject pour consulter le fichier .bks, ligne par ligne, en ajoutant des fichiers et des dossiers à un fichier texte, que ferait le script quand il rencontrerait une ligne /Exclude ?
En n’utilisant que l’objet FileSystemObject, le script devrait fermer le fichier de sortie, le réouvrir, rechercher les fichiers et les dossiers correspondant à la ligne /Exclude et écrire un second fichier texte sans les noms de fichiers exclus. Plutôt lourd, non ?
Téléchargez cette ressource
Mac en entreprise : le levier d’un poste de travail moderne
Ce livre blanc répond aux 9 questions clés des entreprises sur l’intégration du Mac : sécurité, compatibilité, gestion, productivité, coûts, attractivité talents, RSE et IA, et l’accompagnement sur mesure proposé par inmac wstore.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Attaques IA : un Active Directory peut être compromis en 40 minutes
- L’application jetable, le piège de l’IA générative
- Cybersécurité : les entreprises françaises réclament un durcissement inédit de la réglementation
- Le tournant Mythos : les entreprises devront opposer des agents IA à des agents IA
Articles les + lus
Couchbase lance AI Data Plane pour industrialiser l’IA agentique
Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
À la une de la chaîne Tech
- Couchbase lance AI Data Plane pour industrialiser l’IA agentique
- Windows 11 : Microsoft généralise le point-in-time restore pour accélérer la remise en service des PC
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
