Script de sauvegarde en batch - Page 2

Résolu
  1. 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
    0
    1. #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!!
      0
      1. 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.
        0
        1. 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
          0
          1. 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.
            0
            1. 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
              0
              1. 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!!
                @+
                0
                1. 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
                  0
                  Précédent
                  • 1
                  • 2