Anonim

Les utilisateurs d’ordinateurs qui ont grandi avec des ordinateurs Mac et Windows avancés peuvent ne pas le savoir, mais jadis, tous les ordinateurs personnels étaient contrôlés à l’aide d’une interface à ligne de commande. Oui, cette boîte de commande encombrante sur votre ordinateur Windows était littéralement le seul moyen d’interagir avec la plupart des gens. Les interfaces de ligne de commande reposaient largement sur de petits programmes appelés "scripts", qui étaient des ensembles de commandes du système d'exploitation utilisées pour effectuer des tâches courantes.

Bien que les interfaces utilisateur graphiques des PC actuels soient des années-lumière plus sophistiquées et faciles à utiliser que les anciennes lignes de commande, il existe toujours des utilisations pour l'ancienne méthode de contrôle de votre ordinateur. La sauvegarde des données est l’une des applications les plus courantes et les mieux adaptées au script de ligne de commande. Les scripts de ligne de commande peuvent être automatisés pour s'exécuter à tout moment sans aucune interaction humaine et ont peu de limitations. Le meilleur de tous - ils font partie intégrante du système d'exploitation Windows.

Pourquoi les scripts de ligne de commande?

Pourquoi utiliser un script de ligne de commande lorsqu'il existe des programmes de sauvegarde commerciaux et gratuits? Les scripts de ligne de commande présentent un certain nombre d'avantages uniques. En voici quelques unes:

  • Commandes natives : Quel meilleur moyen de sauvegarder les données qu'en utilisant les fonctions disponibles via le programme qui crée les données? Que ce soit le système d'exploitation lui-même via une simple commande de copie de fichier ou une commande de base de données pour produire un fichier binaire restaurable, le programme source sait le mieux se sauvegarder.
  • Contrôle ultime : puisqu'un script de ligne de commande suit une procédure simple, vous savez exactement ce qui se passe et pouvez facilement modifier le comportement.
  • Fast : Puisque tout est une commande native, rien n'est sujet à interprétation. Encore une fois, vous utilisez les commandes fournies par le programme lui-même, la charge est donc réduite au minimum.
  • Puissant : je n'ai pas encore vu de tâche de sauvegarde qui ne peut pas être accomplie à l'aide d'un script en ligne de commande… et j'ai effectué des tâches géniales. Bien que vous ayez à faire des recherches et des essais et des erreurs si vous avez des besoins vraiment uniques, les fonctions et fonctionnalités intégrées du langage de script que vous utilisez sont plus que suffisantes.
  • Gratuit et flexible : Évidemment, un script en ligne de commande ne coûte rien (en dehors du temps nécessaire à son développement). Vous pouvez donc copier vos scripts sur un nombre illimité de machines et de systèmes, sans perte de temps ni d'argent. Comparez cela au coût d'achat de licences pour le logiciel de sauvegarde sur plusieurs serveurs et / ou ordinateurs de bureau.

Présentation rapide du script de lot de sauvegarde

La plupart des gens n’ont jamais appris à utiliser le script en ligne de commande, et cela est considéré comme un «art noir». Cependant, c'est en fait une chose assez simple à apprendre. Pour démontrer la puissance de la ligne de commande, je fournis un simple script batch que vous pouvez utiliser pour sauvegarder vos données importantes. Ce script configurable et personnalisable ne nécessite aucune connaissance (ou volonté d'apprendre) du langage de script de traitement par lots de Windows, mais si vous décidez que vous souhaitez en savoir plus sur le script de traitement par lots de Windows, vous verrez que ce script est un bon point de départ. .

Que fait le script de sauvegarde:

  1. Crée des sauvegardes incrémentielles complètes ou quotidiennes (voir ci-dessous pour une définition) des fichiers et dossiers que vous spécifiez dans un fichier texte de configuration séparé (voir ci-dessous).
    • Lorsqu'un dossier est nommé, ce dossier et tous les sous-dossiers sont sauvegardés.
    • Lorsqu'un fichier est nommé, seul ce fichier est sauvegardé.
  2. Compresse (zips) les fichiers sauvegardés. Une fois que tous les fichiers à sauvegarder sont copiés, ils sont compressés pour économiser de l'espace. 7-Zip doit être installé sur votre système pour que cela fonctionne.
  3. Date le fichier compressé et le déplace vers un emplacement de stockage. Une fois les fichiers de sauvegarde compressés, l'archive obtenue reçoit un nom de fichier en fonction de la date du jour, puis est déplacée vers un emplacement de stockage configuré, tel qu'un lecteur externe ou un emplacement réseau.
  4. Nettoie après lui-même. Une fois toutes les tâches terminées, le script de traitement par lots nettoie tous les fichiers temporaires créés.

Exigences:
Windows 2000 / XP / 2003 / Vista ou plus récent
7-Zip (c'est gratuit)

Fichier de configuration:
Le fichier de configuration est simplement un fichier texte contenant des fichiers et des dossiers à sauvegarder. Un élément de sauvegarde est entré par ligne. Ce fichier doit s'appeler «BackupConfig.txt» et se trouver dans le même dossier que le script de sauvegarde. Voici un exemple de fichier BackupConfig.txt (remarque, le caractère «#» sur la première ligne indique que la ligne est un commentaire; les commentaires sont toujours ignorés lors de l'exécution du script):

# Entrez les noms de fichier et de dossier, un par ligne.
C: \ Documents et paramètres \ Jason Faulkner \ Desktop C: \ Documents et paramètres \ Jason Faulkner \ Mes documents \ Fichiers importants C: \ Scripts \ BackupScript.bat

L'exemple ci-dessus sauvegarde le bureau de l'utilisateur Windows Jason Faulkner (et tous les dossiers du bureau), le dossier appelé «Fichiers importants» dans Mes documents (et tous les dossiers dans «Fichiers importants») et le fichier «BackupScript.bat» situé à l'intérieur. le répertoire C: \ Scripts.

Types de sauvegardes:

  • Sauvegarde complète: une copie complète de tous les fichiers et dossiers (y compris les sous-dossiers) est incluse dans la sauvegarde.
  • Sauvegarde incrémentielle: Lorsqu'un dossier est fourni, seuls les fichiers créés ou modifiés à la date du jour sont sauvegardés.
    sauvegardé. Lorsqu'un fichier est fourni, il est toujours sauvegardé, quelle que soit sa date de modification.

Le script batch Windows de sauvegarde des données

Je tiens à souligner que ce script est très basique, car il ne fait que créer des sauvegardes en utilisant une simple copie de fichier. Vous pouvez définir certaines options de configuration:

  • L'emplacement de stockage de sauvegarde où les fichiers de sauvegarde compressés résultants sont stockés.
  • Le jour de la semaine où la sauvegarde complète est exécutée (tout autre jour exécuterait une sauvegarde incrémentielle).
  • Emplacement d'installation de 7-Zip sur votre ordinateur. Le script est automatiquement configuré pour rechercher l'emplacement par défaut.

Si vous avez des suggestions ou des demandes de fonctionnalités, veuillez commenter ci-dessous. J'aimerais vraiment faire un article de suivi sur ce post qui présente un script mis à jour basé sur les entrées du lecteur. Si vous avez besoin d'instructions pour «utiliser» ce script ou pour configurer une tâche planifiée, consultez les liens situés sous la source du script.

Sans plus tarder, voilà:

Remarque : comme les guillemets ne s'affichent pas correctement ci-dessous (et risquent donc de gâcher le script), j'ai inclus un lien en texte brut sous le script que vous pouvez utiliser pour obtenir une source précise à copier.

@ECHO OFF REM BackupScript REM Version 1.01, Mise à jour: 2008-05-21 REM Par Jason Faulkner (articles132solutions.com) REM Effectue des sauvegardes complètes ou incrémentielles des dossiers et des fichiers configurés par l'utilisateur. Utilisation de REM --- REM> BackupScript SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION REM --- Options de configuration --- REM Emplacement du dossier dans lequel vous souhaitez stocker l'archive de sauvegarde résultante. REM Ce dossier doit exister. Ne mettez pas un '\' à la fin, cela sera ajouté automatiquement. REM Vous pouvez entrer un chemin local, une lettre de lecteur externe (ex. F :) ou un emplacement réseau (ex. \\ serveur \ sauvegardes). SET BackupStorage = C: \ Backup REM Quel jour de la semaine souhaitez-vous effectuer une sauvegarde complète sur? REM Entrez l'une des valeurs suivantes: Dimanche, lundi, mardi, mercredi, jeudi, vendredi, samedi, * REM Tout jour de la semaine autre que celui spécifié ci-dessous exécute une sauvegarde incrémentielle. REM Si vous entrez '*', une sauvegarde complète sera exécutée à chaque fois. SET FullBackupDay = * REM Emplacement où 7-Zip est installé sur votre ordinateur. REM La valeur par défaut se trouve dans un dossier «7-Zip» dans votre répertoire Program Files. SET InstallLocationOf7Zip =% ProgramFiles% \ 7-Zip REM + -------------------------------------- --------------------------------- + REM | Ne changez rien ici si vous ne savez pas ce que vous faites. | REM + ---------------------------------------------------- ----------------------- + Variables d'utilisation. SET exe7Zip =% InstallLocationOf7Zip% \ 7z.exe SET dirTempBackup =% TEMP% \ sauvegarde SET filBackupConfig = BackupConfig.txt Val Validation. SI NON EXISTE% filBackupConfig% (ECHO Aucun fichier de configuration trouvé, manquant:% filBackupConfig% GOTO End) SI NON EXIST "% exe7Zip%" (ECHO 7-Zip n'est pas installé à l'emplacement:% dir7Zip% ECHO. Veuillez mettre à jour le répertoire où 7-Zip est installé. GOTO Fin) Variables de sauvegarde REM. FOR / f "jetons = 1, 2, 3, 4 delims = /" %% a IN ('date / t') DO (SET) DayOfWeek = %% a SET NowDate = %% d - %% b - %% c SET FileDate = %% b - %% c - %% d) IF {% FullBackupDay%} == {*} SET FullBackupDay =% DayOfWeek% IF / i {% FullBackupDay%} == {% DayOfWeek%} (SET txtBackup = SET complet swXCopy = / e) ELSE (SET txtBackup = SET incrémentiel swXCopy = / s / d:% FileDate%) ECHO Lancement de la copie de fichiers. SI N'EXISTE PAS "% dirTempBackup%" MKDIR "% dirTempBackup%" FOR / f "skip = 1 jetons = *" %% A IN (% filBackupConfig%) DO (SET Current = %% ~ A IF NOT EXIST "!! Current!! "(ECHO ERROR! Not Found:! Current!) ELSE (Copie ECHO:! Current! SET Destination =% dirTempBackup% \! Current: ~ 0, 1! %% ~ pnxA REM Déterminez si l'entrée est un fichier ou un répertoire. SI "%% ~ xA" == "" (Répertoire REM. XCOPY "! Actuel!" "! Destination!" / V / c / i / g / h / q / r / y% swXCopy%) ELSE (fichier REM) . COPY / v / y "! Actuel!" "! Destination!"))) ECHO Effectuer la copie des fichiers. ÉCHO. SET BackupFileDestination =% BackupStorage% \ Backup_% FileDate% _% txtBackup% .zip REM Si le fichier de sauvegarde existe, supprimez-le en faveur du nouveau fichier. IF EXIST "% BackupFileDestination%" SUPPR / f / q "% BackupFileDestination%" ECHO Compression des fichiers sauvegardés. (Nouvelle fenêtre) REM Compresse les fichiers en utilisant 7-Zip selon un processus moins prioritaire. DÉMARRER "Compression de la sauvegarde. NE PAS FERMER" / belownormal / wait "% exe7Zip%" a -tzip -r -mx5 "% BackupFileDestination%" "% dirTempBackup% \" ECHO Terminé la compression des fichiers sauvegardés. ÉCHO. ECHO Nettoyage. SI EXISTE "% dirTempBackup%" RMDIR / s / q "% dirTempBackup%" ECHO. : Fin ECHO Terminé. ÉCHO. ENDLOCAL

La source de texte brut est disponible ici: sauvegarde

Si vous avez besoin d’aide pour démarrer avec l’implémentation de ce script, voici quelques liens pour vous aider:

  • Comment créer un fichier batch
  • Comment créer une tâche planifiée Windows

C’est le même script que j’utilise pour sauvegarder mon ordinateur quotidiennement (avec quelques modifications bien sûr), alors je sais que cela fonctionne très bien. J'espère que tu trouves cela utile.

Prendre plaisir!

Script batch Windows pour sauvegarder les données