Lorsque vous avez plusieurs ordinateurs d'utilisateurs finaux sur un réseau, il est important de vous assurer que les fichiers stockés localement sur les ordinateurs respectifs sont sauvegardés en cas de défaillance du disque dur. La maintenance des programmes de sauvegarde, des configurations et, éventuellement, des coûts de support sur chaque machine peut être un réel problème. Nous avons donc une solution simple: un script qui, une fois exécuté, reflète les données locales sur un emplacement réseau commun.
Comment ça marche
Le processus d'installation et de miroir est très simple et se déroule comme suit:
- Créez et partagez un dossier sur votre réseau dans lequel vous souhaitez stocker les fichiers de l'utilisateur. Les utilisateurs auront besoin d'un accès en lecture et en écriture à ce dossier.
- Placez le script de sauvegarde sur le partage réseau.
- Planifiez une tâche sur l'ordinateur de chaque utilisateur pour exécuter le script de sauvegarde à partir du partage réseau.
- Le script met en miroir les documents stockés sur la machine locale vers le partage réseau.
Le script utilise l'outil Microsoft RoboCopy et crée automatiquement la structure de dossiers «/ Nom de l'ordinateur / Nom d'utilisateur» dans le dossier réseau afin que les documents utilisateur ne se écrasent pas.
Le scénario
@ECHO OFF TITLE Local Documents Backup ECHO Local Documents Backup ECHO Written by: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM RoboCopy.exe must be present on the client machine in a folder specified in the PATH variable. REM For Windows Vista and later have this tool included, but Windows XP and earlier should download REM this tool from Microsoft and place it in the Windows folder of their machine. REM Root folder where backup files should be stored. REM To use the directory containing this script, use: %~dp0 SET BackupDir=%~dp0 REM Message to users: ECHO. ECHO Running Local Documents Backup. ECHO. ECHO Do not close this window, it will close automatically when finished. ECHO You can safely minimize this window and continue working. ECHO. ECHO. REM Destination= Specified Backup FolderComputer NameWindows User Name REM Create required folders if they do not exist SET BackupDir=%BackupDir%%ComputerName% SET BackupDir=%BackupDir:=% IF NOT EXIST '%BackupDir%' MKDIR '%BackupDir%' SET BackupDir=%BackupDir%%UserName% IF NOT EXIST '%BackupDir%' MKDIR '%BackupDir%' SET LogFile='%BackupDir%%ComputerName%-%UserName%_BackupLog.txt' ECHO %ComputerName% Backup Starting > %LogFile% ECHO. >> %LogFile% ECHO. REM Call BackupDirectory with a relative folder name in the %UserProfile% directory REM To view available directories, run this from the command prompt: REM DIR %UserProfile% REM Add more directories as needed (i.e. 'Downloads', 'Favorites', etc.) ECHO Backing up Documents… REM Windows Vista / 7 CALL:BackupDirectory 'Documents' >> %LogFile% REM Windows 2000 / XP CALL:BackupDirectory 'My Documents' >> %LogFile% ECHO Finished ECHO. ECHO Backing up Desktop… CALL:BackupDirectory 'Desktop' >> %LogFile% ECHO Finished ECHO. ECHO. ECHO. GOTO End ENDLOCAL:BackupDirectory ECHO. REM Only backup this directory if it exists on the client machine SET Source='%UserProfile%%~1' IF NOT EXIST %Source% GOTO End SET Dest='%BackupDir%%~1' IF NOT EXIST %Dest% MKDIR %Dest% REM Run the mirror copy: RoboCopy %Source% %Dest% /V /S /E /COPY:DAT /PURGE /MIR /NP /R:1 /W:30 ECHO. ECHO. GOTO End:End
Planification du script de sauvegarde sur les ordinateurs des utilisateurs
Une fois que le partage réseau et le script de traitement par lots sont en place, vous n'avez plus qu'à configurer une tâche planifiée sur chaque ordinateur client. Cette tâche planifiée qui exécute le script ne nécessite que quelques options spéciales que nous allons souligner ici.
Étant donné que les dossiers source et de destination du script pour le processus en miroir sont gérés par le compte d'utilisateur Windows, vous devez vous assurer que la tâche planifiée s'exécute sous le nom d'utilisateur Windows de l'utilisateur respectif.
Si plusieurs utilisateurs utilisent le même ordinateur, vous devez configurer une tâche planifiée pour chaque utilisateur du script. Dans de telles situations, vous pouvez sélectionner l'option pour que le script ne soit exécuté que lorsque l'utilisateur est connecté.
Le résultat
Comme nous l'avons mentionné précédemment, lors de la première exécution du processus miroir, la structure de dossiers est créée et tous les documents des dossiers source configurés sont copiés sur le réseau. Inutile de dire que la copie peut prendre un certain temps en fonction de la quantité de données. Les exécutions ultérieures de la tâche de planification se termineront beaucoup plus rapidement à mesure que des fichiers de la machine locale sont ajoutés, mis à jour et supprimés selon les besoins pour conserver la structure en miroir.
Liens
Téléchargez le script BackupFiles à partir de SysadminGeek.com
Téléchargez Windows Server 2003 Toolkit (qui comprend RoboCopy.exe) à partir de Microsoft