Nous avons deux sites reliés via une LS donc débit très limité. Un dossier
sur un des serveurs du site central doit etre accessible pour tout le monde
en lecture seule. Le Pb vient du site distant puisque l'affichage du contenu
de ce dossier est très lent a cause de cette LS. L'idée est de copier le
dossier du site central vers le site distant et ensuite au travers d'un
script qui s'executera la nuit, controler le contenu de chaque dossier de
chaques sites pour verifier si des mises a jour ou ajout de fichiers ont été
éffectué puis mettre à jour le site qui ne l'est pas.
permet de copier tous les fichiers et de remplacer les fichiers uniquement si la date sources et supérieur à la destination.
Nicolas.
Do Re Mi chel La Si Do
Bonjour !
Je pense que le batch est une (très) bonne solution. A condition de travailler sur des dossiers partagés.
Un avantage de travailler avec des Batchs, c'est la possibilité de lancer le script via les tâches planifiées.
En conséquence, à l'exemple de Nicolas, j'ajouterais le commutateur /C pour éviter un blocage, en cas de problème (genre fichier système non accessible). Eventuellement, /S pour traiter les sous-répertoires.
On pourrait également rediriger la sortie dans un fichier, pour avoir une trace du travail effectué. Avec la possibilité de filtrer (| FIND ).
Résumons ; si le script est lancé depuis le serveur distant (celui qui reçoit les fichiers) : XCOPY ServeurDossier*.* C:Dossier2 /D /S /C /Y >>Logcopy.txt
Et tout ça en une seule ligne !
@-salutations
Michel Claveau
Bonjour !
Je pense que le batch est une (très) bonne solution.
A condition de travailler sur des dossiers partagés.
Un avantage de travailler avec des Batchs, c'est la possibilité de lancer le
script via les tâches planifiées.
En conséquence, à l'exemple de Nicolas, j'ajouterais le commutateur /C
pour éviter un blocage, en cas de problème (genre fichier système non
accessible). Eventuellement, /S pour traiter les sous-répertoires.
On pourrait également rediriger la sortie dans un fichier, pour avoir une
trace du travail effectué. Avec la possibilité de filtrer (| FIND ).
Résumons ; si le script est lancé depuis le serveur distant (celui qui
reçoit les fichiers) :
XCOPY \ServeurDossier*.* C:Dossier2 /D /S /C /Y >>Logcopy.txt
Je pense que le batch est une (très) bonne solution. A condition de travailler sur des dossiers partagés.
Un avantage de travailler avec des Batchs, c'est la possibilité de lancer le script via les tâches planifiées.
En conséquence, à l'exemple de Nicolas, j'ajouterais le commutateur /C pour éviter un blocage, en cas de problème (genre fichier système non accessible). Eventuellement, /S pour traiter les sous-répertoires.
On pourrait également rediriger la sortie dans un fichier, pour avoir une trace du travail effectué. Avec la possibilité de filtrer (| FIND ).
Résumons ; si le script est lancé depuis le serveur distant (celui qui reçoit les fichiers) : XCOPY ServeurDossier*.* C:Dossier2 /D /S /C /Y >>Logcopy.txt
Et tout ça en une seule ligne !
@-salutations
Michel Claveau
Jacques Barathon [MS]
"Do Re Mi chel La Si Do" wrote in message news:
En conséquence, à l'exemple de Nicolas, j'ajouterais le commutateur /C pour éviter un blocage, en cas de problème (genre fichier système non accessible). Eventuellement, /S pour traiter les sous-répertoires.
Je conseillerais plutôt l'utilisation de ROBOCOPY. L'intérêt principal est d'utiliser l'option /MIR qui gérera également la suppression des fichiers qui ont été supprimés sur le serveur source.
ROBOCOPY est téléchargeable sur le site de Microsoft, dans les outils du Resource Kit de Microsoft il me semble.
Jacques
"Do Re Mi chel La Si Do" <enleverlesO.OmcO@OmclaveauO.com> wrote in message
news:eOoyMxk2FHA.2600@tk2msftngp13.phx.gbl...
En conséquence, à l'exemple de Nicolas, j'ajouterais le commutateur /C
pour éviter un blocage, en cas de problème (genre fichier système non
accessible). Eventuellement, /S pour traiter les sous-répertoires.
Je conseillerais plutôt l'utilisation de ROBOCOPY. L'intérêt principal est
d'utiliser l'option /MIR qui gérera également la suppression des fichiers
qui ont été supprimés sur le serveur source.
ROBOCOPY est téléchargeable sur le site de Microsoft, dans les outils du
Resource Kit de Microsoft il me semble.
En conséquence, à l'exemple de Nicolas, j'ajouterais le commutateur /C pour éviter un blocage, en cas de problème (genre fichier système non accessible). Eventuellement, /S pour traiter les sous-répertoires.
Je conseillerais plutôt l'utilisation de ROBOCOPY. L'intérêt principal est d'utiliser l'option /MIR qui gérera également la suppression des fichiers qui ont été supprimés sur le serveur source.
ROBOCOPY est téléchargeable sur le site de Microsoft, dans les outils du Resource Kit de Microsoft il me semble.
Jacques
Do Re Mi chel La Si Do
Bonsoir !
Pour le problème de suppression des fichiers du répertoire Doss2 qui n'existe pas (plus) dans Doss1, on peut s'inspirer du Batch suivant :
@echo off dir Doss1 /B >tmp.txt xcopy Doss2 Doss1 /L /EXCLUDE:tmp.txt |FIND /V "fichier(s)">tmp2.txt FOR /F "tokens=*" %%i in (tmp2.txt) do (del %%i) del tmp.txt del tmp2.txt
@-salutations
Michel Claveau
Bonsoir !
Pour le problème de suppression des fichiers du répertoire Doss2 qui
n'existe pas (plus) dans Doss1, on peut s'inspirer du Batch suivant :
@echo off
dir Doss1 /B >tmp.txt
xcopy Doss2 Doss1 /L /EXCLUDE:tmp.txt |FIND /V "fichier(s)">tmp2.txt
FOR /F "tokens=*" %%i in (tmp2.txt) do (del %%i)
del tmp.txt
del tmp2.txt
Pour le problème de suppression des fichiers du répertoire Doss2 qui n'existe pas (plus) dans Doss1, on peut s'inspirer du Batch suivant :
@echo off dir Doss1 /B >tmp.txt xcopy Doss2 Doss1 /L /EXCLUDE:tmp.txt |FIND /V "fichier(s)">tmp2.txt FOR /F "tokens=*" %%i in (tmp2.txt) do (del %%i) del tmp.txt del tmp2.txt
@-salutations
Michel Claveau
Jacques Barathon [MS]
"Do Re Mi chel La Si Do" wrote in message news:%
Bonsoir !
Pour le problème de suppression des fichiers du répertoire Doss2 qui n'existe pas (plus) dans Doss1, on peut s'inspirer du Batch suivant :
@echo off dir Doss1 /B >tmp.txt xcopy Doss2 Doss1 /L /EXCLUDE:tmp.txt |FIND /V "fichier(s)">tmp2.txt FOR /F "tokens=*" %%i in (tmp2.txt) do (del %%i) del tmp.txt del tmp2.txt
Intéressant, mais bigrement compliqué pour un problème simple à régler avec robocopy:
robocopy doss1 doss2 /mir
De plus, robocopy est particulièrement efficace (c'est-à-dire fiable et rapide) dans la copie de fichiers à travers le réseau.
Pour info, robocopy est inclus dans les outils du Resource Kit Windows Server 2003: http://www.microsoft.com/downloads/details.aspx?displaylang=en&familyid467a69-57ff-4ae7-96ee-b18c4790cffd
Jacques
"Do Re Mi chel La Si Do" <enleverlesO.OmcO@OmclaveauO.com> wrote in message
news:%23x1Hygm2FHA.1184@TK2MSFTNGP12.phx.gbl...
Bonsoir !
Pour le problème de suppression des fichiers du répertoire Doss2 qui
n'existe pas (plus) dans Doss1, on peut s'inspirer du Batch suivant :
@echo off
dir Doss1 /B >tmp.txt
xcopy Doss2 Doss1 /L /EXCLUDE:tmp.txt |FIND /V "fichier(s)">tmp2.txt
FOR /F "tokens=*" %%i in (tmp2.txt) do (del %%i)
del tmp.txt
del tmp2.txt
Intéressant, mais bigrement compliqué pour un problème simple à régler avec
robocopy:
robocopy doss1 doss2 /mir
De plus, robocopy est particulièrement efficace (c'est-à-dire fiable et
rapide) dans la copie de fichiers à travers le réseau.
Pour info, robocopy est inclus dans les outils du Resource Kit Windows
Server 2003:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&familyid467a69-57ff-4ae7-96ee-b18c4790cffd
Pour le problème de suppression des fichiers du répertoire Doss2 qui n'existe pas (plus) dans Doss1, on peut s'inspirer du Batch suivant :
@echo off dir Doss1 /B >tmp.txt xcopy Doss2 Doss1 /L /EXCLUDE:tmp.txt |FIND /V "fichier(s)">tmp2.txt FOR /F "tokens=*" %%i in (tmp2.txt) do (del %%i) del tmp.txt del tmp2.txt
Intéressant, mais bigrement compliqué pour un problème simple à régler avec robocopy:
robocopy doss1 doss2 /mir
De plus, robocopy est particulièrement efficace (c'est-à-dire fiable et rapide) dans la copie de fichiers à travers le réseau.
Pour info, robocopy est inclus dans les outils du Resource Kit Windows Server 2003: http://www.microsoft.com/downloads/details.aspx?displaylang=en&familyid467a69-57ff-4ae7-96ee-b18c4790cffd
Jacques
berthelagrandepatte
Excusez moi de cette réponse un peu tardive.Je vous suis très reconnaissant pour toutes ces propositions. Je les testerai et choisirai la plus adaptée en fonction de mon environnement.
Coridalement
"Do Re Mi chel La Si Do" wrote in message news:%
Bonsoir !
Pour le problème de suppression des fichiers du répertoire Doss2 qui n'existe pas (plus) dans Doss1, on peut s'inspirer du Batch suivant :
@echo off dir Doss1 /B >tmp.txt xcopy Doss2 Doss1 /L /EXCLUDE:tmp.txt |FIND /V "fichier(s)">tmp2.txt FOR /F "tokens=*" %%i in (tmp2.txt) do (del %%i) del tmp.txt del tmp2.txt
Intéressant, mais bigrement compliqué pour un problème simple à régler avec robocopy:
robocopy doss1 doss2 /mir
De plus, robocopy est particulièrement efficace (c'est-à-dire fiable et rapide) dans la copie de fichiers à travers le réseau.
Pour info, robocopy est inclus dans les outils du Resource Kit Windows Server 2003: http://www.microsoft.com/downloads/details.aspx?displaylang=en&familyid467a69-57ff-4ae7-96ee-b18c4790cffd
Jacques
Excusez moi de cette réponse un peu tardive.Je vous suis très reconnaissant
pour toutes ces propositions. Je les testerai et choisirai la plus adaptée en
fonction de mon environnement.
Coridalement
"Do Re Mi chel La Si Do" <enleverlesO.OmcO@OmclaveauO.com> wrote in message
news:%23x1Hygm2FHA.1184@TK2MSFTNGP12.phx.gbl...
Bonsoir !
Pour le problème de suppression des fichiers du répertoire Doss2 qui
n'existe pas (plus) dans Doss1, on peut s'inspirer du Batch suivant :
@echo off
dir Doss1 /B >tmp.txt
xcopy Doss2 Doss1 /L /EXCLUDE:tmp.txt |FIND /V "fichier(s)">tmp2.txt
FOR /F "tokens=*" %%i in (tmp2.txt) do (del %%i)
del tmp.txt
del tmp2.txt
Intéressant, mais bigrement compliqué pour un problème simple à régler avec
robocopy:
robocopy doss1 doss2 /mir
De plus, robocopy est particulièrement efficace (c'est-à-dire fiable et
rapide) dans la copie de fichiers à travers le réseau.
Pour info, robocopy est inclus dans les outils du Resource Kit Windows
Server 2003:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&familyid467a69-57ff-4ae7-96ee-b18c4790cffd
Excusez moi de cette réponse un peu tardive.Je vous suis très reconnaissant pour toutes ces propositions. Je les testerai et choisirai la plus adaptée en fonction de mon environnement.
Coridalement
"Do Re Mi chel La Si Do" wrote in message news:%
Bonsoir !
Pour le problème de suppression des fichiers du répertoire Doss2 qui n'existe pas (plus) dans Doss1, on peut s'inspirer du Batch suivant :
@echo off dir Doss1 /B >tmp.txt xcopy Doss2 Doss1 /L /EXCLUDE:tmp.txt |FIND /V "fichier(s)">tmp2.txt FOR /F "tokens=*" %%i in (tmp2.txt) do (del %%i) del tmp.txt del tmp2.txt
Intéressant, mais bigrement compliqué pour un problème simple à régler avec robocopy:
robocopy doss1 doss2 /mir
De plus, robocopy est particulièrement efficace (c'est-à-dire fiable et rapide) dans la copie de fichiers à travers le réseau.
Pour info, robocopy est inclus dans les outils du Resource Kit Windows Server 2003: http://www.microsoft.com/downloads/details.aspx?displaylang=en&familyid467a69-57ff-4ae7-96ee-b18c4790cffd
Mais, robocopy a un gros défaut : la doc et l'aide ne sont pas en français ! Autre défaut : ce n'est pas moi qui ai indiqué le truc ;o( (là c'est le quotient émotionnel qui parle).
Mais, robocopy a un gros défaut : la doc et l'aide ne sont pas en français !
Autre défaut : ce n'est pas moi qui ai indiqué le truc ;o( (là c'est le
quotient émotionnel qui parle).
Mais, robocopy a un gros défaut : la doc et l'aide ne sont pas en français ! Autre défaut : ce n'est pas moi qui ai indiqué le truc ;o( (là c'est le quotient émotionnel qui parle).
/ZB? A vrai dire je n'ai jamais utilisé. D'après la doc ça peut ralentir les perfs de la copie, et elle recommande de ne l'utiliser que si l'expérience montre que c'est utile.
/IPG:8 est utile pour libérer un peu de bande passante si la copie a lieu en journée, mais si elle a lieu la nuit on peut supposer que la bande passante sera libre à 99% pour la copie. Dans ce cas il vaut mieux éviter de "perdre" 8 ms après chaque paquet pour que la copie soit finie dans la nuit!
/RH:0100-0500 est utile s'il est employé avec /PF. Utilisé seul, il ne contrôle que l'heure de démarrage de la commande, ce qui n'a pas grande utilité si la copie est lancée par une tâche planifiée. Par contre, si tu ajoutes /PF tu peux vérifier avant la copie de chaque fichier qu'elle démarre dans le créneau horaire spécifié.
En résumé, en supposant qu'on veut copier à partir de serveur1 le contenu de D:Source sur serveur2destination en démarrant le job tous les soirs à 22h et qu'on veut être sûr qu'aucune copie de fichier ne sera lancée après 6h du matin, je conseillerais donc de planifier une tâche qui exécutera la commande suivante:
Pour planifier cette commande, il faut la mettre dans un fichier de commande (par exemple transfert.cmd) et la planifier via les Tâches Planifiées du Panneau de Configuration, en donnant un compte d'exécution qui au minimum aura accès en lecture sur D:Source et en écriture sur serveur2destination.
Mais, robocopy a un gros défaut : la doc et l'aide ne sont pas en français !
Oui, et c'est dommage car cette doc est très complète. Mais ce newsgroup est là pour éclairer les utilisateurs qui ne lisent pas l'anglais :-)
Autre défaut : ce n'est pas moi qui ai indiqué le truc ;o( (là c'est le quotient émotionnel qui parle).
Là, je n'ai plus d'argument... ;-)
Jacques
"Do Re Mi chel La Si Do" <enleverlesO.OmcO@OmclaveauO.com> wrote in message
news:ORex6Us2FHA.1292@TK2MSFTNGP12.phx.gbl...
/ZB? A vrai dire je n'ai jamais utilisé. D'après la doc ça peut ralentir les
perfs de la copie, et elle recommande de ne l'utiliser que si l'expérience
montre que c'est utile.
/IPG:8 est utile pour libérer un peu de bande passante si la copie a lieu en
journée, mais si elle a lieu la nuit on peut supposer que la bande passante
sera libre à 99% pour la copie. Dans ce cas il vaut mieux éviter de "perdre"
8 ms après chaque paquet pour que la copie soit finie dans la nuit!
/RH:0100-0500 est utile s'il est employé avec /PF. Utilisé seul, il ne
contrôle que l'heure de démarrage de la commande, ce qui n'a pas grande
utilité si la copie est lancée par une tâche planifiée. Par contre, si tu
ajoutes /PF tu peux vérifier avant la copie de chaque fichier qu'elle
démarre dans le créneau horaire spécifié.
En résumé, en supposant qu'on veut copier à partir de \serveur1 le contenu
de D:Source sur \serveur2destination en démarrant le job tous les soirs à
22h et qu'on veut être sûr qu'aucune copie de fichier ne sera lancée après
6h du matin, je conseillerais donc de planifier une tâche qui exécutera la
commande suivante:
Pour planifier cette commande, il faut la mettre dans un fichier de commande
(par exemple transfert.cmd) et la planifier via les Tâches Planifiées du
Panneau de Configuration, en donnant un compte d'exécution qui au minimum
aura accès en lecture sur D:Source et en écriture sur
\serveur2destination.
Mais, robocopy a un gros défaut : la doc et l'aide ne sont pas en français
!
Oui, et c'est dommage car cette doc est très complète. Mais ce newsgroup est
là pour éclairer les utilisateurs qui ne lisent pas l'anglais :-)
Autre défaut : ce n'est pas moi qui ai indiqué le truc ;o( (là c'est le
quotient émotionnel qui parle).
/ZB? A vrai dire je n'ai jamais utilisé. D'après la doc ça peut ralentir les perfs de la copie, et elle recommande de ne l'utiliser que si l'expérience montre que c'est utile.
/IPG:8 est utile pour libérer un peu de bande passante si la copie a lieu en journée, mais si elle a lieu la nuit on peut supposer que la bande passante sera libre à 99% pour la copie. Dans ce cas il vaut mieux éviter de "perdre" 8 ms après chaque paquet pour que la copie soit finie dans la nuit!
/RH:0100-0500 est utile s'il est employé avec /PF. Utilisé seul, il ne contrôle que l'heure de démarrage de la commande, ce qui n'a pas grande utilité si la copie est lancée par une tâche planifiée. Par contre, si tu ajoutes /PF tu peux vérifier avant la copie de chaque fichier qu'elle démarre dans le créneau horaire spécifié.
En résumé, en supposant qu'on veut copier à partir de serveur1 le contenu de D:Source sur serveur2destination en démarrant le job tous les soirs à 22h et qu'on veut être sûr qu'aucune copie de fichier ne sera lancée après 6h du matin, je conseillerais donc de planifier une tâche qui exécutera la commande suivante:
Pour planifier cette commande, il faut la mettre dans un fichier de commande (par exemple transfert.cmd) et la planifier via les Tâches Planifiées du Panneau de Configuration, en donnant un compte d'exécution qui au minimum aura accès en lecture sur D:Source et en écriture sur serveur2destination.
Mais, robocopy a un gros défaut : la doc et l'aide ne sont pas en français !
Oui, et c'est dommage car cette doc est très complète. Mais ce newsgroup est là pour éclairer les utilisateurs qui ne lisent pas l'anglais :-)
Autre défaut : ce n'est pas moi qui ai indiqué le truc ;o( (là c'est le quotient émotionnel qui parle).
Là, je n'ai plus d'argument... ;-)
Jacques
Do Re Mi chel La Si Do
Re
Juste un détail, pour terminer :
J'avais cru comprendre que /ZB correpondait au /C de xcopy, et pouvait éviter d'avoir la copie bloquée (en attente) lors d'un bête problème d'accès (par exemple).
Ce commutateur peut ainsi permettre d'effectuer des siestes sereines et tranquilles (chose que je vais tester dans quelques minutes, si le client ne s'en aperçoit pas...)
@-salutations
Michel Claveau
Re
Juste un détail, pour terminer :
J'avais cru comprendre que /ZB correpondait au /C de xcopy, et pouvait
éviter d'avoir la copie bloquée (en attente) lors d'un bête problème d'accès
(par exemple).
Ce commutateur peut ainsi permettre d'effectuer des siestes sereines et
tranquilles (chose que je vais tester dans quelques minutes, si le client ne
s'en aperçoit pas...)
J'avais cru comprendre que /ZB correpondait au /C de xcopy, et pouvait éviter d'avoir la copie bloquée (en attente) lors d'un bête problème d'accès (par exemple).
Ce commutateur peut ainsi permettre d'effectuer des siestes sereines et tranquilles (chose que je vais tester dans quelques minutes, si le client ne s'en aperçoit pas...)