Je cherche à faire un script qui effectue une sauvegarde complète chaque vendredi dans un répertoire sur un nas et qui copie chaque jour de la semaine les nouveaux ou modifiés fichiers/dossiers dans un nouveau répertoire pour chaque jour, et ceci sur 4 semaines.
Voici mon script pour les jours de semaine :
=========================================================
:: Sur le NAS est créé préalablement un dossier "sauvegarde" vers lequel est monté un lecteur réseau
:: "net use" monte le lecteur réseau
:: "S:"est la lettre de lecteur attribuée au nas "\\ip du nas\sauvegarde"
:: "/user:admin admintest" > login du nas/mot de passe
net use S: \\10.121.156.164\sauvegarde /user:admin motdepasseadmin
:: définit la variable avec la date de la veille
FOR /f %%n IN (dateveille.txt) Do SET hier=%%n
:: XCOPY copie la totalité du disque de donnée (ici F:\) dans un dossier nommé sauvegarde_datedujour
XCOPY /S /E /H /Y /I /K /D:%hier% F:\ S:\sauvegarde_%date:~6,4%%date:~3,2%%date:~0,2%
:: la ligne ci-dessous supprime les dossiers de sauvegarde supérieurs à 4 semaines
For /f "skip=20 tokens=*" %%a in ('dir /b /o-d /ad "S:\"') do (RD /S /Q S:\%%a)
:: édite le fichier dateveille.txt avec la date du jour, sera donc comme point de comparaison utilisé le lendemain
echo %date% > dateveille.txt
:: démonte le lecteur réseau
net use s: /delete /y
=========================================================
Pour la sauvegarde complète et la première sauvegarde, je supprime la variable "hier", et ça fonctionne.
Mon problème, c'est que ça ne marche pas pour la partie nouveaux fichiers/dossiers, ça me copie tous les répertoires, anciens ou nouveaux mais vides alors que je souhaite que la partie entre jour J et J-1 soit dans le dossier date du jour.
Suis-je clair, est-ce possible et comment? Parce que j'avoue que je sèche.
Merci pour vos réponses
Partager