Cette présentation introduit l'outil robocopy, commande intégrée au système d'exploitation Windows. Elle s'adresse aux professionnels de la conservation - archivistes, bibliothécaires, conservateurs, etc. - amenés à acquérir des données auprès de producteurs. Elle présente les avantages de l'outil et la manière de le paramétrer pour garantir l'intégrité des données.
Robocopy : Un outil de copie sécurisée et paramétrable en ligne de commande
1. 6 mai 2022 Groupe Formats de données pour la préservation numérique 1
robocopy
Un outil de copie sécurisée et
paramétrable en ligne de commande
Identifiant documentaire : BnF-ADM-2022-047539-01
Cette œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution 4.0
International.
2. L’étape de transfert
• L’étape de transfert (du Producteur à l’Archive
– la BnF, dans le cas qui nous occupe) est une
étape cruciale et délicate.
– Sur le plan technique : la copie de données d’un
support à un autre présente un risque d’altération
des données, notamment à la suite de potentielles
défaillances du réseau ou de la connectique.
– Sur le plan juridique : la BnF prend alors la
responsabilité des données et doit s’assurer que la
copie est aussi fidèle que possible à son original.
6 mai 2022 Groupe Formats de données pour la préservation numérique 2
3. Focus : la fidélité à la donnée
source
• Copier un fichier modifie généralement les dates de création,
dernière modification et dernier accès d’un fichier (ces dates ne sont
pas des métadonnées internes mais des informations associées au
fichier sur le système de fichiers).
• Ouvrir un fichier dans un logiciel peut également affecter ces dates.
Il arrive même que ces logiciels modifient marginalement le fichier
(en ce cas, une opération de contrôle de l’intégrité après ouverture
peut donner des résultats différents !).
• D’où la mise en œuvre de procédures, logiciels et matériels pour
l’acquisition fidèle de données : transmission de dossiers zippés
plutôt que d’arborescences, utilisation de bloqueurs d’écriture et
d’outils de copie préservant les dates du système de fichiers originel,
comme robocopy.
6 mai 2022 Groupe Formats de données pour la préservation numérique 3
4. robocopy
• Pour Robust File Copy.
• Un utilitaire embarqué en série dans Windows
depuis Vista.
• En ligne de commande.
• Site officiel : https://docs.microsoft.com/fr-
fr/windows-server/administration/windows-
commands/robocopy
• (Équivalent de la commande Unix rsync)
6 mai 2022 Groupe Formats de données pour la préservation numérique 4
5. Les avantages de robocopy
• Il peut préserver les dates de création, dernière
modification et dernier accès telles qu’elles
figuraient sur le système de fichiers source.
• Il est capable de gérer un réseau instable et de
gros fichiers.
• Il est capable de gérer des fichiers dont le nom,
trop long, empêche le renommage et la copie
standard Windows.
• Il renvoie un rapport de copie complet.
6 mai 2022 Groupe Formats de données pour la préservation numérique 5
6. Accéder à la console
Cliquer sur le
bouton
« Démarrer », taper
« Invite de
commande » puis
cliquer sur le
programme qui
apparaît
6 mai 2022 Groupe Formats de données pour la préservation numérique 6
7. Focus : naviguer dans une arborescence
avec l’invite de commande Windows
• On peut préciser à robocopy un chemin absolu (depuis un lecteur : C:,
D:, E:, etc.) ou relatif (depuis la localisation actuelle, affichée au début de
la ligne de commande).
• Obtenir la liste des dossiers et fichiers :
– dir
• Obtenir une vue arborescente des répertoires (ajouter l’option /f pour
afficher également les fichiers) :
– tree
• Ouvrir le répertoire enfant :
– cd [nom du répertoire]
• Remonter au répertoire parent :
– cd ..
• (Ne pas hésiter à se reporter à toutes les ressources sur les commandes de
base MS-DOS, comme celle-ci par exemple.)
6 mai 2022 Groupe Formats de données pour la préservation numérique 7
8. Avant robocopy : copy, xcopy
• copy est une commande simple. Beaucoup moins
configurable que robocopy, elle cible des fichiers.
• xcopy est l’équivalent, pour des dossiers.
• Leur fonctionnement n’est pas aussi robuste que
robocopy,
– (En particulier, il n’y a pas de vérification d’empreinte
numérique, même s’il est possible de vérifier l’intégrité par
un simple contrôle de poids via l’option /v.)
6 mai 2022 Groupe Formats de données pour la préservation numérique 8
9. Syntaxe de la commande
robocopy
Syntaxe de base : taper
robocopy [chemin du dossier / fichier
source] [chemin du dossier / fichier
cible]
Pour avoir de l’aide :
robocopy /?
6 mai 2022 Groupe Formats de données pour la préservation numérique 9
10. Rappel : chemins avec espaces
• Lorsque votre chemin / nom de fichier comporte un
espace, il vous faut entourer le tout par des « double
quotes » (").
• (Une des raisons pour lesquelles on recommande des
noms de dossier et de fichiers sans espaces ni
diacritiques !)
6 mai 2022 Groupe Formats de données pour la préservation numérique 10
11. Customiser la copie
• Pour préciser à Robocopy des options, on les
ajoutera à la fin de la ligne de commande.
• Une option commence par une barre oblique
puis une série de lettres ; s’il est nécessaire de
lui donner un paramètre en entrée, on
l’introduit à la suite par deux-points.
– robocopy [source] [cible] /e /r:0
/w:0
6 mai 2022 Groupe Formats de données pour la préservation numérique 11
12. Copier les sous-répertoires et
les répertoires vides
• Par défaut, Robocopy cible exclusivement le dossier
source et ses fichiers, mais non les répertoires qu’il
contient.
• Pour éviter ce comportement, on lui ajoute l’option
/s, qui copie récursivement tous les sous-répertoires..
– robocopy [source] [cible] /s
• Par défaut, s’il trouve un dossier vide, il l’ignorera.
• Pour éviter ce omportement, on ajoute l’option /e qui
copie également les répertoires vides
– robocopy [source] [cible] /e
6 mai 2022 Groupe Formats de données pour la préservation numérique 12
13. En cas de réseau instable
• Pour faciliter la copie de fichiers volumineux à
partir d’un réseau potentiellement instable, il
faut activer le mode « reprise ».
• Si le réseau lâche, Robocopy place un
marqueur de reprise (sinon, il abandonne la
copie du fichier et devra la reprendre
intégralement lorsque la connexion sera
rétablie).
– robocopy [source] [cible] /z
6 mai 2022 Groupe Formats de données pour la préservation numérique 13
14. Si le réseau ou la connectique
est stable
• Par défaut, Robocopy retente plusieurs fois une copie échouée
• Mais si le réseau ou la connectique est fiable, on préférera ne
pas tenter plusieurs fois la copie et analyser les logs pour
comprendre les causes de l’échec avant de refaire une
tentative.
• On précisera donc /r:X, où X = nombre de tentatives après un
premier échec, et /w:Y, où Y = nombre de secondes entre deux
tentatives.
• Pour lui demander de ne pas faire de nouvelle tentative, on lui
précise :
– robocopy [source] [cible] /r:0 /w:0
6 mai 2022 Groupe Formats de données pour la préservation numérique 14
15. Conserver les dates du système
de fichiers originel
• Par défaut, et contrairement à la copie par
l’interface Windows, Robocopy conserve
l’horodatage des fichiers.
• Mais celui des répertoires est par défaut
modifié. Pour conserver les dates de création
des répertoires, on ajoute l’option /dcopy:t.
– robocopy [source] [cible] /dcopy:t
6 mai 2022 Groupe Formats de données pour la préservation numérique 15
16. Exclure des fichiers
6 mai 2022 Groupe Formats de données pour la préservation numérique 16
• Exclure des noms de fichier complets :
– robocopy [source] [cible] /xf
thumbs.db
• Exclure des noms de fichier par extension :
– robocopy [source] [cible] /xf *.tmp
17. Obtenir la liste des fichiers et
dossiers qui seront copiés
• Lorsqu’on combine de multiples paramètres, il
peut être difficile de savoir ce qui va
effectivement être copié. On peut avoir la liste
des fichiers concernés en ajoutant l’option /l.
• Avant toute commande de copie, il est toujours
souhaitable de la lancer avec l’option /l pour
anticiper ce qui va se passer !
6 mai 2022 Groupe Formats de données pour la préservation numérique 17
18. Paramétrer les logs
• Par défaut, le rapport de copie s’affiche dans la
console. Si on souhaite l’enregistrer dans un fichier, il
faut utiliser les options suivantes :
– robocopy [source] [cible] /log:[chemin du
fichier log]
• Pour un fichier de log en Unicode, l’option est
– robocopy [source] [cible] /unilog:[chemin
du fichier log]
• (Rappel : si on fournit un chemin relatif, le log sera
enregistré à l’emplacement où Robocopy est exécuté.)
6 mai 2022 Groupe Formats de données pour la préservation numérique 18
19. Bonnes campagnes de copie !
• Et n’oubliez pas de consulter la page de
documentation de Robocopy ou son aide pour
avoir accès à toutes les options de l’outil !
6 mai 2022 Groupe Formats de données pour la préservation numérique 19