Script de sauvegarde en batch
Résolu
Dikmas
Messages postés
376
Date d'inscription
Statut
Membre
Dernière intervention
-
red -
red -
Bonjour,
Alors voila. Je souhaite sauvegarder une base mysql. à ce niveau je n'ai pas de soucis. j'ai rentré mes commandes dans mon fichier batch et j'ai fait une tâche planifié. Le script écrit même le résultat de la sauvegarde dans un fichier log.
Ce que j'aimerais faire et que je ne vois pas du tout comment faire c'est :
pour chaque jours de la semaine lui associer un numéro
lundi --> 1
mardi --> 2
mercredi --> 3
jeudi --> 4
vendredi --> 5
samedi --> 6
dimanche --> pas de sauvegarde, donc pas de numéro.
Donc, on lance la sauvegarde la semaine 1
lundi --> création du fichier "sauv_lundi.sql"
mardi --> création du fichier "sauv_mardi.sql"
mercredi --> création du fichier "sauv_mercredi.sql"
jeudi --> création du fichier "sauv_jeudi.sql"
vendredi --> création du fichier "sauv_vendredi.sql"
samedi --> création du fichier "sauv_samedi.sql"
Les sauvegardes se sont toutes bien faites sans soucis.
Passons maintenant à la semaine 2.
lundi --> la nouvelle sauvegarde écrase le fichier "sauv_lundi.sql" créé lors de la semaine 1
mardi --> etc.
J'espère avoir été clair sur le principe.
merci d'avance.
Alors voila. Je souhaite sauvegarder une base mysql. à ce niveau je n'ai pas de soucis. j'ai rentré mes commandes dans mon fichier batch et j'ai fait une tâche planifié. Le script écrit même le résultat de la sauvegarde dans un fichier log.
Ce que j'aimerais faire et que je ne vois pas du tout comment faire c'est :
pour chaque jours de la semaine lui associer un numéro
lundi --> 1
mardi --> 2
mercredi --> 3
jeudi --> 4
vendredi --> 5
samedi --> 6
dimanche --> pas de sauvegarde, donc pas de numéro.
Donc, on lance la sauvegarde la semaine 1
lundi --> création du fichier "sauv_lundi.sql"
mardi --> création du fichier "sauv_mardi.sql"
mercredi --> création du fichier "sauv_mercredi.sql"
jeudi --> création du fichier "sauv_jeudi.sql"
vendredi --> création du fichier "sauv_vendredi.sql"
samedi --> création du fichier "sauv_samedi.sql"
Les sauvegardes se sont toutes bien faites sans soucis.
Passons maintenant à la semaine 2.
lundi --> la nouvelle sauvegarde écrase le fichier "sauv_lundi.sql" créé lors de la semaine 1
mardi --> etc.
J'espère avoir été clair sur le principe.
merci d'avance.
A voir également:
- Script de sauvegarde en batch
- Logiciel de sauvegarde gratuit - Guide
- Script vidéo youtube - Guide
- Fichier batch - Guide
- Sauvegarde facile - Télécharger - Sauvegarde
- Sauvegarde android - Guide
28 réponses
J'ai un nouveau problème
j'ai donc mis mes scripts sur un serveur, pour sauvegarder les vrais bases à sauvegarder et j'ai comme erreur :
the system cannot find the path specified
j'ai donc mis mes scripts sur un serveur, pour sauvegarder les vrais bases à sauvegarder et j'ai comme erreur :
the system cannot find the path specified
#include <stdio.h>
#include <time.h>
int main ()
{ FILE*pfile;
char* jour[7]={"dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"};
pfile=fopen("c:\\TON_CHEMIN\\jour.txt","w");
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
fwrite (jour[timeinfo->tm_wday] , 1 ,strlen(jour[timeinfo->tm_wday])*sizeof(char) , pfile );
fclose(pfile);
return 0;
}
change le pfile=fopen("D:\\backupmysql \\jour.txt","w");
recompile l'exe et ca devrait etre bon...enfin j'espere!!
#include <time.h>
int main ()
{ FILE*pfile;
char* jour[7]={"dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"};
pfile=fopen("c:\\TON_CHEMIN\\jour.txt","w");
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
fwrite (jour[timeinfo->tm_wday] , 1 ,strlen(jour[timeinfo->tm_wday])*sizeof(char) , pfile );
fclose(pfile);
return 0;
}
change le pfile=fopen("D:\\backupmysql \\jour.txt","w");
recompile l'exe et ca devrait etre bon...enfin j'espere!!
voici ma nouvelle architecture
D:\
------backup
----------sauv_macad.bat
----------jour.exe
----------<mes_fichiers_de_sauvegarde.sql>
voici mon fichier "jour.exe"
#include <stdio.h>
#include <time.h>
#include <string.h>
int main ()
{
FILE*pfile;
char* jour[7]={"dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"};
pfile=fopen("D:\\backup\\jour.txt","w");
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
fwrite (jour[timeinfo->tm_wday] , 1 ,strlen(jour[timeinfo->tm_wday])*sizeof(char) , pfile );
fclose(pfile);
return 0;
}
et voici mon fichier "sauv_macad.bat"
@ECHO OFF
@ECHO Vous avez choisis de sauvegarder la base menagerie
D:
cd\backup
SET CHEMIN = D:\backup\
SET BASE = macad
SET REUSSI=Sauvegarde de %BASE% reussi
SET ECHEC=Sauvegarde de %BASE% echouee
jour.exe
for /F %%a in (jour.txt) do set jour=sauv_%%a.sql
mysqldump -u root -proot macad > backup\%JOUR%
@if %ERRORLEVEL% EQU 0 echo %REUSSI% le %date% >> %CHEMIN%log.txt
@if %ERRORLEVEL% GEQ 1 echo %ECHEC% le %date% code erreur : %ERRORLEVEL% >> %CHEMIN%log.txt
del /Q jour.txt
rem bmail -s <serveur smtp> -t dikmas.che@wanadoo.fr -f sauvegarde@itc-alstom.com -h -a "Sauvegarde de <serveur>" -b "%ECHEC% le %DATE_today% a %TIME_today% code erreur : %ERRORLEVEL%"
pause
Avec ceci, j'ai l'erreur que j'ai dis au message précédent.
D:\
------backup
----------sauv_macad.bat
----------jour.exe
----------<mes_fichiers_de_sauvegarde.sql>
voici mon fichier "jour.exe"
#include <stdio.h>
#include <time.h>
#include <string.h>
int main ()
{
FILE*pfile;
char* jour[7]={"dimanche","lundi","mardi","mercredi","jeudi","vendredi","samedi"};
pfile=fopen("D:\\backup\\jour.txt","w");
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
fwrite (jour[timeinfo->tm_wday] , 1 ,strlen(jour[timeinfo->tm_wday])*sizeof(char) , pfile );
fclose(pfile);
return 0;
}
et voici mon fichier "sauv_macad.bat"
@ECHO OFF
@ECHO Vous avez choisis de sauvegarder la base menagerie
D:
cd\backup
SET CHEMIN = D:\backup\
SET BASE = macad
SET REUSSI=Sauvegarde de %BASE% reussi
SET ECHEC=Sauvegarde de %BASE% echouee
jour.exe
for /F %%a in (jour.txt) do set jour=sauv_%%a.sql
mysqldump -u root -proot macad > backup\%JOUR%
@if %ERRORLEVEL% EQU 0 echo %REUSSI% le %date% >> %CHEMIN%log.txt
@if %ERRORLEVEL% GEQ 1 echo %ECHEC% le %date% code erreur : %ERRORLEVEL% >> %CHEMIN%log.txt
del /Q jour.txt
rem bmail -s <serveur smtp> -t dikmas.che@wanadoo.fr -f sauvegarde@itc-alstom.com -h -a "Sauvegarde de <serveur>" -b "%ECHEC% le %DATE_today% a %TIME_today% code erreur : %ERRORLEVEL%"
pause
Avec ceci, j'ai l'erreur que j'ai dis au message précédent.
mysqldump -u root -proot macad > backup\%JOUR%
Tu n'as pas besoin de backup\%jour% juste %jour%
mysqldump -u root -proot macad >%JOUR%
tu es deja dans le repertoire backup...
sinon il faudrait que tu aies:
d:
--backup
----backup
Tu n'as pas besoin de backup\%jour% juste %jour%
mysqldump -u root -proot macad >%JOUR%
tu es deja dans le repertoire backup...
sinon il faudrait que tu aies:
d:
--backup
----backup
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ah bah oui, effectivement...
merci bien une fois de plus. Comme quoi, on fait souvent des erreurs d'inattention en programmation :/
Merci encore ^^
Je met en résolu, je n'ai plus de problème pour le moment.
merci bien une fois de plus. Comme quoi, on fait souvent des erreurs d'inattention en programmation :/
Merci encore ^^
Je met en résolu, je n'ai plus de problème pour le moment.
Je souhaiterais faire un script d'envoie de notifcation de sauvegarde
Le pricipe et de copié mon fichier .log de ntbackup vers un fichier txt puis ensuite me l'envoyé par mail via un utilitaire qui s'appel blat
Neanmoins je ne m'en sors pas dutout
Voici mon script j'ai un problème avec l'envoie de mail via blat avec mon script
@echo
set Sender=backup@mondomaine.fr
set Receiver=technicien@mondomaine.fr
set Cc=administrateur@mondomaine.fr
set Subject="Test Rapport de sauvegarde"
set Host=mondomaine.fr
set Sourcefolder="C:\Documents and Settings\technicien.mondomaine\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data"
REM Sourcefolder = dossier d'origine du fichier *.log créé par NTBackup. (Backup01, Backup 02, Backup03...)
set Contentfolder="c:\logntbackup"
REM Contentfolder dossier ou est copié le fichier avant l'envoi par mail.
echo F | xcopy /d %Sourcefolder%\*.log %Contentfolder%\report.txt
REM J'effectue une copie du fichier source (*.log) dans le dossier cible (*.log ou *.txt par exemple)
blat -install %Host% %Sender%
REM installation de blat
blat %sourceFolder%\*.log -subject %Subject% -to %Receiver% -cc %Cc% -attach %ContentFolder%\report.txt
REM Utilisation de blat pour l'envoi du fichier report.txt par mail.
Le message d'erreur qui m'affiche est :
unknown error code 123 when trying to open C:\Documents and Settings\technicien.mondomaine\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\*.
log
Le pricipe et de copié mon fichier .log de ntbackup vers un fichier txt puis ensuite me l'envoyé par mail via un utilitaire qui s'appel blat
Neanmoins je ne m'en sors pas dutout
Voici mon script j'ai un problème avec l'envoie de mail via blat avec mon script
@echo
set Sender=backup@mondomaine.fr
set Receiver=technicien@mondomaine.fr
set Cc=administrateur@mondomaine.fr
set Subject="Test Rapport de sauvegarde"
set Host=mondomaine.fr
set Sourcefolder="C:\Documents and Settings\technicien.mondomaine\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data"
REM Sourcefolder = dossier d'origine du fichier *.log créé par NTBackup. (Backup01, Backup 02, Backup03...)
set Contentfolder="c:\logntbackup"
REM Contentfolder dossier ou est copié le fichier avant l'envoi par mail.
echo F | xcopy /d %Sourcefolder%\*.log %Contentfolder%\report.txt
REM J'effectue une copie du fichier source (*.log) dans le dossier cible (*.log ou *.txt par exemple)
blat -install %Host% %Sender%
REM installation de blat
blat %sourceFolder%\*.log -subject %Subject% -to %Receiver% -cc %Cc% -attach %ContentFolder%\report.txt
REM Utilisation de blat pour l'envoi du fichier report.txt par mail.
Le message d'erreur qui m'affiche est :
unknown error code 123 when trying to open C:\Documents and Settings\technicien.mondomaine\Local Settings\Application Data\Microsoft\Windows NT\NTBackup\data\*.
log
Salut,
Je connais pas blat mais à mon avis, tu dois faire une boucle:
cd %sourceFolder%
for /F "tokens=1-4 delims= " %%a in ('dir *.log') do if exist %%d blat %%d -subject %Subject% -to %Receiver% -cc %Cc% -attach %ContentFolder%\report.txt
toute la boucle for sur la meme ligne....le souci est que si tu as 100 fichiers log, tu recevras 100 mails....
Si tu en veux qu'un, je pense qu'en faisant un fichier temporaire, tu devrais pouvoir t'en sortir!!!
J'espere ca pourra t'aider!!
@+
Je connais pas blat mais à mon avis, tu dois faire une boucle:
cd %sourceFolder%
for /F "tokens=1-4 delims= " %%a in ('dir *.log') do if exist %%d blat %%d -subject %Subject% -to %Receiver% -cc %Cc% -attach %ContentFolder%\report.txt
toute la boucle for sur la meme ligne....le souci est que si tu as 100 fichiers log, tu recevras 100 mails....
Si tu en veux qu'un, je pense qu'en faisant un fichier temporaire, tu devrais pouvoir t'en sortir!!!
J'espere ca pourra t'aider!!
@+
bonjour j'aimerai aussi faire la meme chose mais moi je voulais créer un batch pour faire un sauvegarde planifié d'une base de données informix
pour montrer les etapes je voulais exporter la base de données informix vers un répértoire sous unix ensuite créer un batch pour automatisée la sauvegarde chaque jour
c'est urgent et merci d'avance
pour montrer les etapes je voulais exporter la base de données informix vers un répértoire sous unix ensuite créer un batch pour automatisée la sauvegarde chaque jour
c'est urgent et merci d'avance