« LINUX:ROBOCOPY » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 5 : | Ligne 5 : | ||
S'il n'est pas installé, il est en libre accès sur le site Microsoft dans les "Ressources kits" de ses serveurs. | S'il n'est pas installé, il est en libre accès sur le site Microsoft dans les "Ressources kits" de ses serveurs. | ||
A cet URL de Microsoft '''<nowiki>https://docs.microsoft.com/fr-fr/windows-server/administration/windows-commands/robocopy</nowiki>''', vous avez une notice explicative complète de tous les paramètres disponibles. | A cet URL de Microsoft '''<nowiki>https://docs.microsoft.com/fr-fr/windows-server/administration/windows-commands/robocopy</nowiki>''', vous avez une notice explicative complète de tous les paramètres disponibles. | ||
En mode e plus simple, on peut faire ses sauvegardes sur un disque dur externe. On pourrait le faire sur une clé USB mais je trouve ces médias plus fragiles. Voici un exemple de script à écrire dans fichier dont usuellement l'extension est ".bat". On suppose que le média externe a comme nom "H:". Dans cet exemple on sauve le contenu du répertoire "D:\hobby\genealogie".: | |||
---- | |||
@echo off | |||
d: | |||
cd D:\hobby\ | |||
robocopy.exe genealogie H:\genealogie /e /purge /fft /np /S /Z /R:2 /v /eta | |||
pause | |||
---- | |||
Explications des options retenues: | |||
* /purge : la cible contiendra le même contenu que la source. On ne copie que ce qui a été modifié. Ce qui est en excédent, est éliminé. | |||
* /e : copie les sous-répertoires | |||
* /R:2 : En cas d'erreur d'accès à la cible, le nombre d'essais est limité à deux tentatives; il n'est pas illimité. | |||
* /Z : Si l'opération s'aborde, la prochaine opération continuera où a été interrompue. | |||
* /S : ne copie pas les répertoires vides | |||
* /eta : affiche l'état d'avancement du travail pour chaque fichier | |||
* /v : affichage détaillé | |||
Au lieu de copier ces fichiers vers un disque dur externe, on peut les copier vers un serveur SMB. Si cette machine distante a un OS Windows Professionnel ou Server, on y crée un répertoire de partage ayant les droits d'écriture pour l'utilisateur concerné. Si cette machine a un OS Linux, on doit y installer un serveur Samba (voir l'article "[[LINUX:Samba|Samba: serveur de fichiers]]"). Dans l'exemple la machine se nomme "serverdb.home.dom", le partage "hobby" et l'utilisateur "adebast". On effectue une connexion au serveur grâce à la commande "net use" surtout si l'utilisateur qui fait cette opération n'a pas les droits requis et/ou le mot de passe n'est pas le même que celui de l'utilisateur concerné. | |||
---- | ---- | ||
@echo off | @echo off | ||
d: | d: | ||
cd D:\hobby\ | cd D:\hobby\ | ||
robocopy.exe genealogie \\serverdb.home.dom\ | net use \\serverdb.home.dom\hobby /user:adebast mot_de_passe_secret | ||
robocopy.exe genealogie \\serverdb.home.dom\hobby\genealogie /e /purge /fft /np /S /Z /R:2 /v /eta | |||
pause | pause | ||
---- | ---- | ||
Si on est en domaine active directory, il faut ajouter devant le nom d'utilisateur, le nom de domaine séparé du nom de l'utilisateur par un back-slach ("\"). | |||
Comme par principe le serveur doit toujours être à disposition, on peut intégrer ce script dans les tâches planifiées de la machine Windows source. | |||
Version du 31 janvier 2022 à 14:47
But
Le programme "robocopy.exe" de Microsoft est disponible sous Windows. C'est un programme utilisable en ligne de commande nettement plus puissant que "xcopy" ou "copy".
Il est normalement inclus dans le dossier système de Windows 10 "C:\Windows\System32". S'il n'est pas installé, il est en libre accès sur le site Microsoft dans les "Ressources kits" de ses serveurs. A cet URL de Microsoft https://docs.microsoft.com/fr-fr/windows-server/administration/windows-commands/robocopy, vous avez une notice explicative complète de tous les paramètres disponibles.
En mode e plus simple, on peut faire ses sauvegardes sur un disque dur externe. On pourrait le faire sur une clé USB mais je trouve ces médias plus fragiles. Voici un exemple de script à écrire dans fichier dont usuellement l'extension est ".bat". On suppose que le média externe a comme nom "H:". Dans cet exemple on sauve le contenu du répertoire "D:\hobby\genealogie".:
@echo off d: cd D:\hobby\ robocopy.exe genealogie H:\genealogie /e /purge /fft /np /S /Z /R:2 /v /eta pause
Explications des options retenues:
- /purge : la cible contiendra le même contenu que la source. On ne copie que ce qui a été modifié. Ce qui est en excédent, est éliminé.
- /e : copie les sous-répertoires
- /R:2 : En cas d'erreur d'accès à la cible, le nombre d'essais est limité à deux tentatives; il n'est pas illimité.
- /Z : Si l'opération s'aborde, la prochaine opération continuera où a été interrompue.
- /S : ne copie pas les répertoires vides
- /eta : affiche l'état d'avancement du travail pour chaque fichier
- /v : affichage détaillé
Au lieu de copier ces fichiers vers un disque dur externe, on peut les copier vers un serveur SMB. Si cette machine distante a un OS Windows Professionnel ou Server, on y crée un répertoire de partage ayant les droits d'écriture pour l'utilisateur concerné. Si cette machine a un OS Linux, on doit y installer un serveur Samba (voir l'article "Samba: serveur de fichiers"). Dans l'exemple la machine se nomme "serverdb.home.dom", le partage "hobby" et l'utilisateur "adebast". On effectue une connexion au serveur grâce à la commande "net use" surtout si l'utilisateur qui fait cette opération n'a pas les droits requis et/ou le mot de passe n'est pas le même que celui de l'utilisateur concerné.
@echo off d: cd D:\hobby\ net use \\serverdb.home.dom\hobby /user:adebast mot_de_passe_secret robocopy.exe genealogie \\serverdb.home.dom\hobby\genealogie /e /purge /fft /np /S /Z /R:2 /v /eta pause
Si on est en domaine active directory, il faut ajouter devant le nom d'utilisateur, le nom de domaine séparé du nom de l'utilisateur par un back-slach ("\").
Comme par principe le serveur doit toujours être à disposition, on peut intégrer ce script dans les tâches planifiées de la machine Windows source.