Besoin d'aide pour un batch (wbadmin, mkdir,)
phoenixot
Messages postés
11
Statut
Membre
-
kkmach Messages postés 21 Statut Membre -
kkmach Messages postés 21 Statut Membre -
Bonjour,
Je vais essayé d'être le plus clair possible,
J'ai un script qui me permet de sauvegarder mon serveur sur un partage réseau tous les week-end :
(D'ailleurs si vous avez des remarques a propos de celui-ci n'hésiter pas)
Maintenant dans l'idéal j'aimerai combiner avec ce script :
Un batch qui me crée un dossier a la date du jour pour y mettre ma sauvegarde
Et un autre pour supprimé le dossier obsolète de la semaine dernière
J'ai déjà fait quelques recherches et trouver une ligne de commande me permettant de créer un dossier a la date du jour :
Merci d'avance.
Je vais essayé d'être le plus clair possible,
J'ai un script qui me permet de sauvegarder mon serveur sur un partage réseau tous les week-end :
wbadmin start backup -allCritical -include:d: -backupTarget:\\Monserveur\Sauvegarde\ -quiet
(D'ailleurs si vous avez des remarques a propos de celui-ci n'hésiter pas)
Maintenant dans l'idéal j'aimerai combiner avec ce script :
Un batch qui me crée un dossier a la date du jour pour y mettre ma sauvegarde
Et un autre pour supprimé le dossier obsolète de la semaine dernière
J'ai déjà fait quelques recherches et trouver une ligne de commande me permettant de créer un dossier a la date du jour :
md %date:~6,4%%date:~3,2%%date:~0,2%
Merci d'avance.
A voir également:
- Besoin d'aide pour un batch (wbadmin, mkdir,)
- Fichier batch - Guide
- Mkdir vba ✓ - Forum VB / VBA
- Batch renommer une partie du nom de plusieurs fichiers ✓ - Forum Programmation
- Mkdir - p signification ✓ - Forum PHP
- Batch pause 10 secondes ✓ - Forum Programmation
5 réponses
Salut & Fraternité.
Ok, pas trop compliqué, mais il faut connaitre un peu ton OS?
Ou puis-je t'envoyer le fichier batch et quelques expliqures?
Je peux l'afficher dans 1 post, mais alors attention à la recopie, un espace en trop
c'est vite fait....
Le .bat est fait pour mon OS (XP r2), donc il te faudra changer certains chemins pour acceder à certaines commandes de ton systeme.
De plus, afin de garder 1 trace de l'ancienne sauvegarde, il te faudra creer une variable d'environnement du nom de: LAST_SAVE_DIR
Sais-tu faire cela ?
Tu dois l'initialiser avec la valeur: aucun
("aucun", pas d'espace avant/apres, et en minuscule.)
a+
Ok, pas trop compliqué, mais il faut connaitre un peu ton OS?
Ou puis-je t'envoyer le fichier batch et quelques expliqures?
Je peux l'afficher dans 1 post, mais alors attention à la recopie, un espace en trop
c'est vite fait....
Le .bat est fait pour mon OS (XP r2), donc il te faudra changer certains chemins pour acceder à certaines commandes de ton systeme.
De plus, afin de garder 1 trace de l'ancienne sauvegarde, il te faudra creer une variable d'environnement du nom de: LAST_SAVE_DIR
Sais-tu faire cela ?
Tu dois l'initialiser avec la valeur: aucun
("aucun", pas d'espace avant/apres, et en minuscule.)
a+
Salut et merci pour t'a réponse,
Je travail sous Windows serveur 2008 r2 Standard en 64bit.
Pour le batch je ne vois pas d'autres solutions qu'un message privé . . .
Sinon, je ne mettais pas encore poser la question de : "garder 1 trace de l'ancienne sauvegarde"
Je savais que j'allais avoir besoin de variable bien que je n'en sache pas plus a se sujet, je vais d'abord voir le batch que tu vas m'envoyer et me poser les questions après.
Peace !
Je travail sous Windows serveur 2008 r2 Standard en 64bit.
Pour le batch je ne vois pas d'autres solutions qu'un message privé . . .
Sinon, je ne mettais pas encore poser la question de : "garder 1 trace de l'ancienne sauvegarde"
Je savais que j'allais avoir besoin de variable bien que je n'en sache pas plus a se sujet, je vais d'abord voir le batch que tu vas m'envoyer et me poser les questions après.
Peace !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon
Ne m'en veut pas, je ne connais pas ton niveau, donc je fais comme si tu étais
novice.
a) Hypothese: tu utilises le repertoire sur le serveur
\\Monserveur\Sauvegarde\
comme repertoire de travail. Les répertoires des différentes sauvegardes seront dessous (au format AAAAMMJJ)
Dans ce repertoire de base, il faudra y placer le .bat et le fichier oui.in que je vais t'expliquer comment le generer.
b)le fichier bat:
Copie le texte entre les 2 lignes: >>>>>-----------
(sans les 2 lignes)
dans un fichier nommé bkup.bat que tu place dans ton repertoire de base des sauvegarde.
Il faudra que tu adaptes les 2 lignes placée après le bloc de remarques commencant par: REM >>>>>
c'est a dire:
ligne1: c:\windows\system32\attrib -r *.*
ligne2: c:\windows\system32\attrib -r %LAST_SAVE_DIR%
Tu dois mettre le bon chemin (celui de ton disque ou est placé le fichier: Attrib.exe
tu ne changes que "c:\windows\system32\" tu laisses la fin
Si c'est le même chemin, of course tu changes rien.
Pourquoi Attrib? car l'ancienne archive peut être en "lecture seule" et on ne pourrait pas la detruire. Ici (-r) on enleve cette protection.
Idem pour l'ancien repertoire, il se peut qu'il soit en "lecture seule", surtout si tu n'est pas dans une session avec des priviléges "Admin".
le texte a copier:
COPIER DEPUIS LIGNE SUIVANTE --------------------------------------------
@echo off
goto debut
:help
echo:
echo ----------------------------
echo bkup v 1.00
echo ----------------------------
echo:
echo Syntaxe: bkup nom_fichier_sauvegarde
echo:
echo nom_fichier_sauvegarde est le nom du dernier fichier de sauvegarde genere.
echo:
echo exemple: bkup last_save_file.sav
goto fin
rem --------------------------------------------------
:erreur
echo:
echo Erreur: fichier %1 introuvable dans le repertoire: %cd%
echo:
goto fin
rem ---------------- ** point d'entree ** -----------------------
:debut
if "%1"=="?" goto help
if "%1"=="-?" goto help
if "%1"=="/?" goto help
echo:
REM le fichier existe'il ?
If not exist %1 goto erreur
REM oui,
echo Creation du repertoire: %date:~6,4%%date:~3,2%%date:~0,2%
set SAVE_DIR=%date:~6,4%%date:~3,2%%date:~0,2%
md %SAVE_DIR%
echo:
echo Sauvegarde version courante dans %SAVE_DIR%
copy %1 %SAVE_DIR%
echo:
rem une vieille sauvegarde existe?
if "%LAST_SAVE_DIR%"=="aucun" goto sauve
if "%LAST_SAVE_DIR%"=="" goto sauve
echo:
rem Oui
echo: Destruction ancienne sauvegarde: %LAST_SAVE_DIR%
cd %LAST_SAVE_DIR%
REM >>
REM >> ici il faut donner le chemin ou trouver: Attrib.exe
REM >> remplacer: "c:\windows\system32" par le chemin sur ton disque
REM >> attrib permet de tomber l'attribut "lecture seule"
REM >> au cas ou l'archive soit protégée, sinon le commande 'del' va echouer
REM >>
c:\windows\system32\attrib -r *.*
del *.* < ..\oui.in
cd ..
c:\windows\system32\attrib -r %LAST_SAVE_DIR%
rd %LAST_SAVE_DIR%
echo:
:sauve
rem Memo du nouveau repertoire pour
rem destruction la prochaine fois
set LAST_SAVE_DIR=%SAVE_DIR%
echo:
echo termine.
:fin
echo:
JUSQU'ICI -------------------------------------------------------------
La commande "wbadmin" place le fichier de sauvegarde sur le reseau
(\\Monserveur\Sauvegarde\) mais je ne sais pas qel nom elle lui donne,
Donc tu dois fournir le nom de cette sauvegarde quand tu executes le .bat
(avec l'extension et le chemin complet
bkup nom_fichier_sauvegarde
si tu executes bkup -?, il t'affichera de l'aide pour te rappeller la syntaxe de la commande.
c) le fichier oui.in ??
Il est necessaire car MDSOS ne détruit jamais un répertoire non vide.
Donc l'ancien repertoire faut le vider avant destruction.
C'est la commande del *.* (delete all files)
Or del *.* va te demander confirmation de la destruction
Le fichier oui.in, simule ta réponse positive, il contient le caractere 'o' (oui) et 1 retour chariot.
Comment le créer:
Ouvre 1 session MSDOS.
Il faut te placer sur le repertoire du serveur: \\Monserveur\Sauvegarde\
On va creer le fichier oui.in
Tu tapes:
copy con oui.in
o
<enter>
<enter>
<F6>
expliqures:
o c'est le caractere o (de Odile)
<enter> c'est l'appui sur la touche [return]
tape 2 fois
<F6> c'est l'appui sur la touche de fonction: F6
MDSOS va t'afficher: "1 fichier copié" à l'ecran
c'est OK.
d) variable d'environnement:
Dans le panneau de config
tu choisi 'system', la page a onglet s'ouvre, tu ouvres l'onglet 'avancé',
en bas (chez moi c'est en bas), il y'a un bouton libéllé 'variables d'environnement', tu cliques.
Il y'a plusieurs boites-liste, choisi celle qui est 'systeme' (dans le genre), plutot qu'utilisateur. Tu choisis 'nouveau', une boite desaise s'ouvre.
Pour le nom de la variable tu tapes: LAST_SAVE_DIR
(sans espace, en majuscules)
Dans le champ valeur, tu tapes: aucun
(en minuscules, no space)
Tu valides, tu fermes tout ca
e) limites:
Si tu executes le batch, 2 fois dans la MEME journee, cela peut etre problemetik
(j'ai pas testé le comportement dans ce cas......)
Cela fait beaucoup d'un coup, rappelle si probleme
Dans cette version comme je ne connnais pas le nom du fichier de sauvegarde generé par "wbadmin", t'est obligé de lancer le batch toi même, on pourra le modifier/adapter si le nom est constant.
ok a+
De la couleur, il y'en aura toujours par dessus le noir et le sombre du monde.
Ne m'en veut pas, je ne connais pas ton niveau, donc je fais comme si tu étais
novice.
a) Hypothese: tu utilises le repertoire sur le serveur
\\Monserveur\Sauvegarde\
comme repertoire de travail. Les répertoires des différentes sauvegardes seront dessous (au format AAAAMMJJ)
Dans ce repertoire de base, il faudra y placer le .bat et le fichier oui.in que je vais t'expliquer comment le generer.
b)le fichier bat:
Copie le texte entre les 2 lignes: >>>>>-----------
(sans les 2 lignes)
dans un fichier nommé bkup.bat que tu place dans ton repertoire de base des sauvegarde.
Il faudra que tu adaptes les 2 lignes placée après le bloc de remarques commencant par: REM >>>>>
c'est a dire:
ligne1: c:\windows\system32\attrib -r *.*
ligne2: c:\windows\system32\attrib -r %LAST_SAVE_DIR%
Tu dois mettre le bon chemin (celui de ton disque ou est placé le fichier: Attrib.exe
tu ne changes que "c:\windows\system32\" tu laisses la fin
Si c'est le même chemin, of course tu changes rien.
Pourquoi Attrib? car l'ancienne archive peut être en "lecture seule" et on ne pourrait pas la detruire. Ici (-r) on enleve cette protection.
Idem pour l'ancien repertoire, il se peut qu'il soit en "lecture seule", surtout si tu n'est pas dans une session avec des priviléges "Admin".
le texte a copier:
COPIER DEPUIS LIGNE SUIVANTE --------------------------------------------
@echo off
goto debut
:help
echo:
echo ----------------------------
echo bkup v 1.00
echo ----------------------------
echo:
echo Syntaxe: bkup nom_fichier_sauvegarde
echo:
echo nom_fichier_sauvegarde est le nom du dernier fichier de sauvegarde genere.
echo:
echo exemple: bkup last_save_file.sav
goto fin
rem --------------------------------------------------
:erreur
echo:
echo Erreur: fichier %1 introuvable dans le repertoire: %cd%
echo:
goto fin
rem ---------------- ** point d'entree ** -----------------------
:debut
if "%1"=="?" goto help
if "%1"=="-?" goto help
if "%1"=="/?" goto help
echo:
REM le fichier existe'il ?
If not exist %1 goto erreur
REM oui,
echo Creation du repertoire: %date:~6,4%%date:~3,2%%date:~0,2%
set SAVE_DIR=%date:~6,4%%date:~3,2%%date:~0,2%
md %SAVE_DIR%
echo:
echo Sauvegarde version courante dans %SAVE_DIR%
copy %1 %SAVE_DIR%
echo:
rem une vieille sauvegarde existe?
if "%LAST_SAVE_DIR%"=="aucun" goto sauve
if "%LAST_SAVE_DIR%"=="" goto sauve
echo:
rem Oui
echo: Destruction ancienne sauvegarde: %LAST_SAVE_DIR%
cd %LAST_SAVE_DIR%
REM >>
REM >> ici il faut donner le chemin ou trouver: Attrib.exe
REM >> remplacer: "c:\windows\system32" par le chemin sur ton disque
REM >> attrib permet de tomber l'attribut "lecture seule"
REM >> au cas ou l'archive soit protégée, sinon le commande 'del' va echouer
REM >>
c:\windows\system32\attrib -r *.*
del *.* < ..\oui.in
cd ..
c:\windows\system32\attrib -r %LAST_SAVE_DIR%
rd %LAST_SAVE_DIR%
echo:
:sauve
rem Memo du nouveau repertoire pour
rem destruction la prochaine fois
set LAST_SAVE_DIR=%SAVE_DIR%
echo:
echo termine.
:fin
echo:
JUSQU'ICI -------------------------------------------------------------
La commande "wbadmin" place le fichier de sauvegarde sur le reseau
(\\Monserveur\Sauvegarde\) mais je ne sais pas qel nom elle lui donne,
Donc tu dois fournir le nom de cette sauvegarde quand tu executes le .bat
(avec l'extension et le chemin complet
bkup nom_fichier_sauvegarde
si tu executes bkup -?, il t'affichera de l'aide pour te rappeller la syntaxe de la commande.
c) le fichier oui.in ??
Il est necessaire car MDSOS ne détruit jamais un répertoire non vide.
Donc l'ancien repertoire faut le vider avant destruction.
C'est la commande del *.* (delete all files)
Or del *.* va te demander confirmation de la destruction
Le fichier oui.in, simule ta réponse positive, il contient le caractere 'o' (oui) et 1 retour chariot.
Comment le créer:
Ouvre 1 session MSDOS.
Il faut te placer sur le repertoire du serveur: \\Monserveur\Sauvegarde\
On va creer le fichier oui.in
Tu tapes:
copy con oui.in
o
<enter>
<enter>
<F6>
expliqures:
o c'est le caractere o (de Odile)
<enter> c'est l'appui sur la touche [return]
tape 2 fois
<F6> c'est l'appui sur la touche de fonction: F6
MDSOS va t'afficher: "1 fichier copié" à l'ecran
c'est OK.
d) variable d'environnement:
Dans le panneau de config
tu choisi 'system', la page a onglet s'ouvre, tu ouvres l'onglet 'avancé',
en bas (chez moi c'est en bas), il y'a un bouton libéllé 'variables d'environnement', tu cliques.
Il y'a plusieurs boites-liste, choisi celle qui est 'systeme' (dans le genre), plutot qu'utilisateur. Tu choisis 'nouveau', une boite desaise s'ouvre.
Pour le nom de la variable tu tapes: LAST_SAVE_DIR
(sans espace, en majuscules)
Dans le champ valeur, tu tapes: aucun
(en minuscules, no space)
Tu valides, tu fermes tout ca
e) limites:
Si tu executes le batch, 2 fois dans la MEME journee, cela peut etre problemetik
(j'ai pas testé le comportement dans ce cas......)
Cela fait beaucoup d'un coup, rappelle si probleme
Dans cette version comme je ne connnais pas le nom du fichier de sauvegarde generé par "wbadmin", t'est obligé de lancer le batch toi même, on pourra le modifier/adapter si le nom est constant.
ok a+
De la couleur, il y'en aura toujours par dessus le noir et le sombre du monde.