> Tech > Collecter les données des systemes de fichiers

Collecter les données des systemes de fichiers

Tech - Par Bill Stewart - Publié le 24 juin 2010
email

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 gratuitement cette ressource

Le Guide Atlassian Data Center

Le Guide Atlassian Data Center

Face aux nombre croissants d’utilisateurs qui accèdent à vos apps, le Guide Atlassian Data Center présente les meilleures pratiques et solution d'évolutivité, de sécurité et de conformité en vous appuyant sur les normes du secteur et les logiciels présents dans votre stack technique, ce Guide Ultime répond à vos principales préoccupations pour assurer la conformité et surveiller tous les problèmes de sécurité potentiels de vos environnements applicatifs d’entreprise.

Tech - Par Bill Stewart - Publié le 24 juin 2010