Pour sauvegarder ses données sous Windows XP, il existe plusieurs méthodes, chacune ayant ses avantages et inconvénients. J’ai présenté une méthode graphique basée sur Toucan passons maintenant à une méthode en ligne de commande et permettant donc de faire des auvegardes via des scripts.

Pour cela, j’utilise l’outil Robocopy. Cet outil fait partie du Windows Server 2003 Resource Kit Tools qui contient toute une série d’outils destinés initialement aux administrateurs.

Installation

Cet utilitaire n’a pas de besoin de procédure d’installation, il suffit de le copier dans un répertoire et il fonctionne !
Quand je l’utilise avec un script, je le copie dans le répertoire de ce script ce qui simplifie la gestion des chemins.

La syntaxe

Elle est expliquée dans le fichier d’aide qui est joint à l’outil. Suivant les version, il est au format doc (Word) ou wri (Writer).
Syntaxe d’appel : ROBOCOPY source destination [file [file]... [options]

Avec :

  • source : répertoire d’origine des fichiers
  • destination : répertoire de copie des fichiers
  • file : liste de fichier à copier, par défaut il s’agit de *.* (tous les fichiers)
  • options : définit le type de copie à réaliser

Les options les plus utilisées :

  • /S : copie les sous-répertoires non vides
  • /E : copie les sous-répertoires même vides
  • /R:n : nombre de tentatives en cas d’échec (1 million par défaut !)
  • /W:n : temps d’attente entre 2 tentatives (30 secondes par défaut)
  • /V : verbose ou bavard, affiche des traces à l’écran
  • /L : simulation, la liste des actions est affichée à l’écran

Utilisation

Un script d’exemple pour sauvegarder le contenu d’un dossier dans un autre :

    echo off
    rem echo %0 %1 %2
    echo       %0
    rem ----------------------------------------
    rem Exemple de sauvegarde avec robocopy
    rem ----------------------------------------
    rem Definition des variables
    rem Auteur : c'est moi
    set edition=1.0
    set date_ed=20/02/09

    set aide1=Script de sauvegarde de données
    set aide2=Les données sont dans le dossier Mes Documents 
    set aide3=source : pour les données à sauvegarder
    set aide4=destination pour les données sauvegardées

    rem répertoires source et destination
    set dep=%USERPROFILE%\Mes documents\source
    set dest=%USERPROFILE%\Mes documents\destination

    rem Option de copie
    set replic=/e /t /r:1 
    set simul=/e /t /r:1 /l 

    rem ----------------------------------------
    rem Controle des options
    if "%1"=="dry" set option=%simul%
    if "%1"=="vrai" set option=%replic%
    if "%1"=="" goto AIDE
    if "%1"=="H" goto AIDE
    if "%1"=="h" goto AIDE

    rem ----------------------------------------
    echo Copie des donnée de %dep% vers %dest%
    robocopy "%dep%" "%dest%" %option%
    goto FIN

    rem ----------------------------------------
    :AIDE

    echo %0 (%aide1%)
    echo     Edition %edition% du %date_ed%

    echo %aide2%
    echo %aide3%
    echo %aide4%

    echo Format d'appel : %0 mode 
    echo avec mode = dry (simulation) ou vrai (réplication)

    rem ----------------------------------------
    :FIN
    echo on

Pour utiliser ce script comme sauvegarde de données, il faut remplacer la variable dep qui pointe vers le dossier Mes Documents\source par le dossier à sauvegarder. Il faut également remplacer la variable dest qui pointe vers le dossier *Mes Documents\destination par le support de sauvegarde donc le lecteur du disque USB ou d’un partage situé sur un autre PC.

Interface graphique

Il existe également une interface graphique pour Robocopy, il est disponible en téléchargement sur le site de Supinfo Laboratoire-Microsoft.
Mais comme il nécessite l’utilisation de .net, je ne l’ai pas testé.