Bonjour à tous,
Dans le cadre de mon travail je dois faire en sorte de maintenir à jour un dossier partagé sur un ordinateur portable en rendant disponible une copie de ce dossier sur un disque dur externe relié au serveur.
J'ai utilisé Robocopy GUI pour créer des scripts qui me permettront de mener à bien cette tâche. Je veux avoir 2 scripts le premier me permettant de faire une première copie intégrale d'un répertoire source (dossier partagé du portable) vers un répertoire cible (dossier sur disque dur externe).
Mes tests sont concluants mais je veux ici avoir la confirmation que mes paramètres sont corrects et ne poseront pas de problème à l'avenir.
InitScript.cmd - Script pour la copie initiale (rien n'existe dans le répertoire cible) :
robocopy "\\portable\partage$" "F:\_DATA" /E /COPYALL /V /NP /LOG+:"F:\RobocopyLOG.txt" /ZB
/R:10 /W:30
/E -> copier même les dossiers vides
/COPYALL -> tout copier
/V -> donner le résumé de la copie
/NP -> masquer l'indicateur de progression de la copie
/LOG+ -> inscrire les infos de copie dans RobocopyLOG.txt et ajouter les infos de copie à la suite de ce fichier
/ZB -> copie en mode "redémarrage si plantage", passage en "mode normal" si échec de copie
/R -> réesayer 10 fois de copier si plantage
/W -> attendre 30 secondes entre chaque tentative (cf: /R)
Une fois la première copie réalisée je veux maintenant automatiser la mise à jour des dossiers/fichiers contenus dans le dossier du portable. Ainsi, ce script mettra à jour les modifications effectuées dans le répertoire source de telle sorte que le dossier sur le disque dur (cible) soit une copie parfaite du répertoire du portable (source).
MajScript.cmd - Script pour maintenir à jour l'arborescence (la copie initale a eu lieu) :
robocopy "\\portable\partage$" "F:\_DATA" /MIR /V /NP /LOG+:"F:\RobocopyLOG.txt" /ZB /R:10
/W:30
/MIR -> cloner une arborescence
Au final, j'utiliserai le planificateur de tâches pour lancer "MajScript.cmd" tous les jours à 13h. En sachant que le
répertoire source est un dossier partagé sur un ordinateur portable je pense faire la chose suivante pour qu'aucun problème d'authentification ne se manifeste...
@NET USE P: \\portable\partage$ mot_de_passe /USER:nom_utilisateur
@robocopy "P:" "F:\_DATA" /MIR /V /NP /LOG+:"F:\RobocopyLOG.txt" /ZB /R:10 /W:30
Ainsi, le script "MajScript.cmd" va tout d'abord affecter le lecteur réseau "P:" au partage masqué "\\portable\partage$" ayant comme nom d'utilisateur "nom_utilisateur" et comme mot de passe "mot_de_passe". Ensuite, robocopy effectue un clone de "P:" (source) vers "F:\_DATA" (cible). Enfin, avec le planificateur de tâches ce fichier "MajScript.cmd" est lancé tous les jours à 13h
QUESTIONS:
1) Est-ce que mes scripts sont corrects (à la vue de mes tests persos oui mais je débute avec Robocopy et peut-être que des pros de cet utilitaire pourront m'aider à les améliorer) ?
2) Le dossier source (sur un ordi portable) n'est pas toujours accessible sur le réseau (portable hors base) et je
voulais savoir ce qui se passe si MajScript.cmd se lance à 13h et que le chemin réseau "\\portable\partage$" est introuvable ?
Tout commentaire est le bienvenu, je débute avec Robocopy mais je sais précisément ce que je veux faire de cet utilitaire que je trouve génial!
A bientôt et merci pour votre attention
-vipclimax-