exemples de .bat pour des sauvegardes SVP - Windows & Software
Marsh Posté le 03-06-2002 à 18:51:36
hum, j'ai plus ça en tête (mais ça va revenir)
mais il existe des utilitaires free qui te permettent de planifier des sauvegardes
avec interfaces graphiques etc...
Marsh Posté le 03-06-2002 à 19:03:51
j'ai trouvé ça :
http://www.namani.net/main/batchb.htm
et un site pas mal :
http://www.pointbat.be/pointbat/sauvegarde.html
je veux un .bat car il pourra tourner meme avec un syst planté
Marsh Posté le 04-06-2002 à 08:55:31
je n y avai jamais pensé en fait
bonne idée
des que j ai le temp, je fait ca
Marsh Posté le 04-06-2002 à 09:22:15
FRandon a écrit a écrit : j'ai trouvé ça : http://www.namani.net/main/batchb.htm |
bien le site
Marsh Posté le 04-06-2002 à 09:29:16
Ben point de vu backup... ça risque de peser:
en gééral quand je backup je m occuppe de ces 4 choses éssentielles:
C:\winnt
C:\Document and Settings
C:\Program File
Plus une backup du registre
et normalement c est tout bon.
en gros tu pose un batch de ce type dans chacun de tes répertoires:
@echo off
xcopy C:\winnt C:\mabackup\winnt\ /e /y /q /h /r
xcopy C:\program~1 C:\mabackup\Program\ /e /y /q /h /r
xcopy C:\document~1 C:\mabackup\document\ /e /y /q /h /r
tu peux ajouté /z si veux que ton pc l'éxécute en mode redémarrable.J'ai peux être oublier un switch, mais comme cela cela devrait fonctionner.
pour le registre:
regedit /e C:\mabackup\registre.reg HKEY_LOCAL_MACHINE
sinon pour les bats moi je les fait plutôt comme cela:
xcopy x C:\mabackup\winnt\ /e /y /q /h /r
xcopy x C:\mabackup\Program\ /e /y /q /h /r
xcopy x C:\mabackup\document\ /e /y /q /h /r
et je placerais le batch correspondant dasn son répertoire.
tu appelle ton batch "backup.bat"
et tu le schedule:
at 10:30 /interactive "C:\backup.batch"
et tu mets ton schedule.bat au démarage
je ne sais mahleureusement pas comment faire pour le planifié de manière définitive pour chaque jour sans pour autant répété l opération 31 fois :
at 10:30 /interactive /every:01 "C:\backup.batch"
at 10:30 /interactive /every:02 "C:\backup.batch"
at 10:30 /interactive /every:03 "C:\backup.batch"
at 10:30 /interactive /every:04 "C:\backup.batch"etc...
bon l avantage c est que tu lance une fois dans le mois ce batch et ta backup est planifiée pour le mois complet.
bon j'ai une tonne de boulôt!
Marsh Posté le 04-06-2002 à 09:36:24
Et y'a moyen d'en faire un pour synchroniser un repertoire entre des workstation et un serveur ???
Marsh Posté le 04-06-2002 à 09:47:07
Alors...
-1- Quoi sauver ?
ben tout ce qui te parait important à toi ; tu peux aussi sauver les fichier .INI du répertoire Windows et aussi la BDR (SYSTEM.DAT et USER.DAT sous 95/98/ME ; sous NT/2K/XP y'en a d'autres mais je sais pas lesquels)
-2- XCopy ?
Oui, ça peut largement suffire... tout dépend de tes besoins. Si ensuite tu veux sauver de plus grande quantité d'information, il faudra peut-être penser à les compresser.
-3- Planificateur ?
A toi de voir... Tu peut aussi demander à ce qu'il soit lancé à chaqaue démarrage en le mettant dans AUTOEXEC.BAT (CALL MONBAT.BAT) ; Il y a plusieurs solutions...
-4- BAT évolué !
Sans s'attendre à des miracles, oui tu peux obtenir des choses assez évoluées avec un .BAT
Pour faire un log par exemple, il suffit de terminer tes commandes par (sans les guillemets) ">> LOG.TXT".
> LOG.TXT les données écraseront LOG.TXT
>> LOG.TXT les données seront ajoutées à la fin de LOG.TXT
ex:
@ECHO OFF
REM Ecrire le mot TEST dans un nouveau fichier TEST.TXT
ECHO TEST > TEST.TXT
REM Ajouter le mot TEST_2 à la fin de ce fichier
ECHO TEST_2 >> TEST.TXT
Pour la gestion des erreurs, il faut savoir que les programmes DOS de microsoft renvoie un code d'erreur (non visible à l'écran). Pour la plupart ce code vaut 0 si tout est OK ; une autre valeur sinon. Il est récupérable dans un BAT avec le test ERRORLEVEL. PLus d'info en tapant "IF /?" sur la ligne de commande.
ex:
@ECHO OFF
XCOPY *.* D:\SAV\
REM Si ERRORLEVEL est supérieur ou égal à 1 alors il y a eu une erreur
IF ERRORLEVEL 1 GOTO ERREUR
REM Sinon c'est OK
GOTO FIN
:ERREUR
ECHO Il y a eu une erreur !!!
:FIN
-6- Paramètrages
Deux solutions : par un SET comme tu le proposes ; ça veut dire qu'avant de lancer ton BAT tu dois définir des variables avec SET. Ensuite dans ton BAT tu les testes avec "IF %VAR%==valeur GOTO QQPART".
Sinon y'a aussi les paramètres passés au programme BAT. Par exemple si ton programme s'appelle PRG.BAT :
PRG Param1 Param2
les valeur sont accessibles respectivement par les variables %1 et %2, etc... jusqu'à %9
S'il y a plus de 9 paramètres ; on peut les décaler avec SHIFT ; pour chaque appel à SHIFT %1 est vidé et tous les paramèrtes sont décalés vers la gauche (donc %1 prend la valeur de %2 ; %2 celle de %3 ; etc...)
-6- Et alors ?
Faut bien apprendre un jour
Marsh Posté le 04-06-2002 à 09:47:56
Putain il s'en est passé des choses le temps que je réponde...
Marsh Posté le 04-06-2002 à 09:55:04
C'est clair!
Salut Coethium Chat roule?
moi je suis un peu à la bourre ce matin....
merci pour le petit cours
Marsh Posté le 04-06-2002 à 10:00:54
pkoi vous utilisez pas ntbackup sous w2k?
marche drolement bien avec plein d'options des log ect... achement simple en plus.
Marsh Posté le 04-06-2002 à 10:01:28
Coucou
C'est vrai que depuis hier on se "croise" souvent
Ben pour le "cours" (faut pas pousser qd même ) y'a pas de koi... j'viens ici pour ça : partager ce que je sais avec les autres !
Allez byebye
PS: tu veux dire koi par retard ?
Marsh Posté le 04-06-2002 à 10:02:32
knives > FRandon possède 98 et 2k ; donc ça va pas avec 98
Marsh Posté le 04-06-2002 à 10:08:18
ah ben il a dis qu'il etait sous w2k
ceci dis c tres interressant tout ca
Marsh Posté le 04-06-2002 à 10:58:10
bah il utilise w2k principalement c tout ce qui importe, avec ntbackup en 10mn il a reglé sont prob de sauvegarde, suffit qu'il trouve un horraire ou le pc est allumé et il planifie ca tout les 3 jours ou toute les semaines ou comme il veut pis zou.
moi je dis faut qu'il regarde, ca peut l'interresser si il connait pas.
Marsh Posté le 04-06-2002 à 12:41:33
Chacal2k a écrit a écrit : Et y'a moyen d'en faire un pour synchroniser un repertoire entre des workstation et un serveur ??? |
Marsh Posté le 04-06-2002 à 13:20:51
coucou
j'aurai un 60G en FAT32 avec :
c 3 G avec 98se
d 10 G avec 2000
e 15 G donnees et jeux
f le reste pour edonkey
donc un bat est la meilleure soluce
je suis tout le temps sous 2000 (je vais sous 98se pour me servir de scertains jeux ou progs incompatibles)
un petit planificateur peu etre pas mal (tous le lundi matins per ex)
je compte le faire avec des choix conditionnels du genre :
set cible1 = MESDOC~1
set cible2 = downloads
set HD1 = C:
set HD2 = D:
set HD3 = E:
ECHO A pour mes documents
ECHO B pour WINNT
ECHO C pour mails
CHOICE /C:ABC /T:A,10 "entrer votre choix :"
If ERRORLEVEL==3 goto MARQUE3
If ERRORLEVEL==2 goto MARQUE2
If ERRORLEVEL==1 goto MARQUE1
:MARQUE1
REM L'utilisateur a pressé la touche A
goto Fin
:MARQUE2
REM L'utilisateur a pressé la touche B
goto Fin
:MARQUE3
REM L'utilisateur a pressé la touche C
goto Fin
:Fin
REM Fin du test
si au bout de 10 s, aucune touche n'est pressee, on declenche quand meme
de plus, gestion des LOG et des erreurs
je pense etre dans la bonne voie
vous pouvez continuer
merci à tous
Marsh Posté le 04-06-2002 à 14:21:24
Choice existe sous 2K ? paske sous XP il y est plus
Dans la solution que tu proposes, on ne peut faire qu'une sauvegarde à la fois, pas les 3 en même temps ! Est-ce vraiment ce que tu souhaites ?
Marsh Posté le 04-06-2002 à 14:29:39
tres juste !!!
je dois tripler le choice pour avoir 3 paves je vais travailler dessus cet aprem
Marsh Posté le 04-06-2002 à 14:40:19
Plutot que de faire avec un choix utilisateur je ferais plutot un truc en utilisant les paramètres :
@Echo off
SET LOGFILE = C:\LOG.TXT
Echo. %LOGFILE%
:BOUCLE
If "%1"=="" Goto Termine
If Not Exist %1\*.* Then ErreurRep
rem Traitement...
rem XCOPY ....
If ErrorLevel 1 Goto ErreurFiles
Echo %1 sauvé >> %LOGFILE%
Goto Suite
:ErreurFiles
Echo Erreur lors de la sauvegarde de %1
Echo Erreur lors de la sauvegarde de %1 >> %LOGFILE%
:Suite
Shift
Goto BOUCLE
:ErreurRep
Echo %1 : répertoire inexistant
Echo %1 : répertoire inexistant >> %LOGFILE%
:Termine
Et par exemple tu le lance comme ça :
MONBAT C:\MESDOC~1 C:\DOWNLOADS
pour sauver les répertoires "Mes documents" et "Downloads" et obtenir un log dans C:\LOG.TXT
Marsh Posté le 04-06-2002 à 18:35:44
Coethium a écrit a écrit : Plutot que de faire avec un choix utilisateur je ferais plutot un truc en utilisant les paramètres : @Echo off SET LOGFILE = C:\LOG.TXT Echo. %LOGFILE% :BOUCLE If "%1"=="" Goto Termine If Not Exist %1\*.* Then ErreurRep rem Traitement... rem XCOPY .... If ErrorLevel 1 Goto ErreurFiles Echo %1 sauvé >> %LOGFILE% Goto Suite :ErreurFiles Echo Erreur lors de la sauvegarde de %1 Echo Erreur lors de la sauvegarde de %1 >> %LOGFILE% :Suite Shift Goto BOUCLE :ErreurRep Echo %1 : répertoire inexistant Echo %1 : répertoire inexistant >> %LOGFILE% :Termine Et par exemple tu le lance comme ça : MONBAT C:\MESDOC~1 C:\DOWNLOADS pour sauver les répertoires "Mes documents" et "Downloads" et obtenir un log dans C:\LOG.TXT |
Génial
j'ai fait ça au boulot :
cls
@echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
@echo º BACKUP º
@echo º ------ º
@echo º º
@echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
@echo off
REM disque de backup
set BACKUP=F:
REM liste des disques
set HD1=C:
set HD2=D:
set HD3=E:
REM liste des emplacements
set REP1=MESDOC~1
set REP2=DOWNLOADS
set REP3=
@echo off
REM Fichier de log
set log=%HD1%\%REP1%\Sauve.log
REM on garde le log de la saugvegarde precedente
@echo off
if exist goto renommage
goto suite1
:renommage
%log% ren %log% %HD1%\%REP1%\Sauve-1.log
echo Fichier %log% renomme en %HD1%\%REP1%\Sauve-1.log >> %log%
:suite1
cd\
:rep1
REM copie de REP1
@echo off
CHOICE /C:on /T:o,10 "Copie de %REP1% > entrez 'O' pour copier sinon entrez 'N'"
If ERRORLEVEL==2 goto MARQUE1B
If ERRORLEVEL==1 goto MARQUE1A
:MARQUE1A
REM L'utilisateur a pressé la touche o
echo on
xcopy %HD1%\%REP1% %HD1%\TOTO\ /S /E /C /H >> %log%
goto Fin1
:MARQUE1B
REM L'utilisateur a pressé la touche n
ECHO Copie de %REP1% annulee >> %log%
goto Fin1
ECHO VOUS VOUS ETES TROMP? DE TOUCHE : O ou N
goto rep1
:Fin1
REM Fin du test
:rep2
REM copie de REP2
@echo off
CHOICE /C:on /T:o,10 "Copie de %REP2% > entrez 'O' pour copier sinon entrez 'N'"
If ERRORLEVEL==2 goto MARQUE2B
If ERRORLEVEL==1 goto MARQUE2A
:MARQUE2A
REM L'utilisateur a pressé la touche o
echo on
xcopy %HD1%\%REP2% %HD1%\%REP2%\ /S /E /C /H >> %log%
goto Fin2
:MARQUE2B
REM L'utilisateur a pressé la touche n
ECHO Copie de %REP2% annulee >> %log%
goto Fin2
:Fin2
REM Fin du test
je pense remplacer les choice par un
for %%f in (%listrep%) do xcopy %%f %destinat% >> %log%
à voir
Marsh Posté le 04-06-2002 à 19:05:51
Waaaaaaaaaaaa
Les commandes de ouf
Moi je dis
Démarrer > executer > ntbackup
Marsh Posté le 04-06-2002 à 21:29:50
Coethium a écrit a écrit : Choice existe sous 2K ? paske sous XP il y est plus Dans la solution que tu proposes, on ne peut faire qu'une sauvegarde à la fois, pas les 3 en même temps ! Est-ce vraiment ce que tu souhaites ? |
jurstement je me posais la question, est-ce que l'utilitaire ntbackup existe toujours sous XP ? Sous 2k je ne l'ai jamais vu, c'est un exe dans le répertoire \winnt c'est ça ?
Marsh Posté le 04-06-2002 à 21:31:04
symantec a écrit a écrit : Waaaaaaaaaaaa Les commandes de ouf Moi je dis Démarrer > executer > ntbackup |
merde je devrais lire tous les posts avant de poser des questions à 2 balles
Marsh Posté le 04-06-2002 à 21:34:32
effectivement ntbackup existe sous XP, je l'avais d'ailleurs déjà utilisé mais sans m'en rendre compte puisque sous XP ils lui ont filé le nom moins technique d'"utilitaire de sauvegarde" C'est tout XP ça, du 2k derrière une bonne couche de convivialité
Marsh Posté le 04-06-2002 à 21:36:05
un peu que ntbackup est toujours la sous xp!
manquerais plus que ca
pour lancer, programmes --> accessoires --> outils systeme ou comme a dis Symantec, tape ntbackup sous la fenetre executer.
%systemroot%\system32\ntbackup.exe
moi je dis, y'en a qui ce compliquent la vie pour peu de choses
Marsh Posté le 04-06-2002 à 22:02:10
pourquoi tu n utilise pas robocopy.
http://www.dwulet.com/files/robocopy.exe
il te permet de faire une duplication , de conserver tes droits NTFS , l avantage c est qu il copie uniquement les fichiers qui ont ete modifié.
Gain de temps tres appreciable
Marsh Posté le 03-06-2002 à 18:44:58
salut,
j'ai cramé un 60G il y a 1 mois
ma derniere sauv datait de 3 semaines auparavant
j'ai un 4.3 G à ma dispo
je voudrais faire un .bat qui sauvegarderait (sous W2K) certains rep et sous rep vers ce disque de backup
questions :
-1- à part le rep mes documents, les favoris, le repertoire des mails et le carnet d'adresse, que dois-je backuper ?
-2- une simple commande XCOPY suffit elle ?
-3- dois je intergrer ce .bat dans un planificateur ?
-4- est il possible de faire un .bat evolué (log, erreurs etc..)
-5- avez vous des exemples de bat paramétrables (avec des SET pae ex)
-6- je ne suis pas une fleche mais cela, vous l'avez deviné
merci
---------------
Cdlt,