IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Sauvegardes Automatisées via Gestionnaire de tâches


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti

    Inscrit en
    Août 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 7
    Par défaut Sauvegardes Automatisées via Gestionnaire de tâches
    Bonjour,
    Je suis nouveau et totalement neu-neu dans le domaine de la programmation.
    Mais voila ... Mon soucis du moment est d'assurer la sauvegarde de mes données pro (Ce que le service informatique à du mal à nous garantir)
    J'ai donc eu l'idée d'écrire un fichier de sauvegarde et de le lancer automatiquement la nuit ..... Et en farfouillant je suis tombé sur le language batch (Les vieux souvenirs de mes débuts en informatique sont revenus)..... Mais ecrire un fichier Batch .... Comment on fait ... J'ai jamais fais
    Voila donc 3 jours que je farfouille sur les forums et que je teste dans mon coin les fonctions (J'ai un peu retrouvé mais premières amours du basic sur AMSTRAD CPC6128)..... Et voilà ce que j'ai pondu

    Un petit programme qui sauvegarde ce que vous voulez (la destination pour moi est le réseau de mon entreprise et/ou mon lecteur externe USB), qui à la fin, vous indique l'heure de début de la sauvegarde, l'heure de fin de la suavegarde et la duréee de la sauvegarde ...... Code ci-dessous

    Code dos : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    @echo off
    echo         **********************************************************
    echo         *                                                        *
    echo         *       Supposons que nous voulions sauvegarder          *
    echo         *        les repertoires "Travail" et "Perso"            *
    echo         *               du disque dur ci-dessous                 *
    echo         *                                                        *
    echo         *   Poste de travail                                     *
    echo         *    :                                                   *
    echo         *    +-Sys (C:)                                          *
    echo         *      :                                                 *
    echo         *      +-Mes_fichiers                                    *
    echo         *      : :                                               *
    echo         *      : +-Travail                                       *
    echo         *      :                                                 *
    echo         *      +-Perso                                           *
    echo         *                                                        *
    echo         *              sur le disque externe USB E:              *
    echo         *          Architecture de la meme facon que C:          *
    echo         *                                                        *
    echo         *   Poste de travail                                     *
    echo         *    :                                                   *
    echo         *    +-USB_Sauvegarde (E:)                               *
    echo         *      :                                                 *
    echo         *      +-Mes_fichiers                                    *
    echo         *      : :                                               *
    echo         *      : +-Travail                                       *
    echo         *      :                                                 *
    echo         *      +-Perso                                           *
    echo         *                                                        *
    echo         *   /!\ Repertoires avec accents = pas pris en comptes   *
    echo         *  Le sript ci-dessous devra être adapté en fonction de  *
    echo         *  vos fichiers sources et votre lecteur de destination  *
    echo         *                                                        *
    echo         **********************************************************
    ECHO.
    Echo Debut de la routine
    ECHO.
    ECHO           *****************************************************
    ECHO           *                                                   *
    ECHO           *  SAUVEGARDE JOURNALIERE SUR SUPPORT USB EN COURS  *
    ECHO           *                                                   *
    ECHO           *****************************************************
    ECHO.
    REM -------- MEMORISATION ET DECOMPOSITON DE l'HEURE DE DEBUT ---------
    set debut=%TIME%
    set /a hd=%TIME:~0,2%*3600 
    set /a md=%TIME:~3,2%*60 
    set Sd=%TIME:~6,5%
    set /a s1=hd+md+sd
    REM -------- SAUVEGARDE DU REPERTOIRE TRAVAIL ---------
    ECHO - SAUVEGARDE DU REPERTOIRE TRAVAIL EN COURS -
    xcopy C:\Mes_fichiers\Travail\ E:\Mes_fichiers\Travail\ /Q /E /R /Y /I
    ECHO - SAUVEGARDE DU REPERTOIRE TRAVAIL TERMINEE -
    ECHO.
    ECHO.
    REM -------- SAUVEGARDE DU REPERTOIRE PERSO ---------
    ECHO - SAUVEGARDE DU REPERTOIRE EN COURS -
    xcopy C:\Perso\ E:\Perso\ /Q /E /R /Y /I
    ECHO - SAUVEGARDE DU REPERTOIRE TERMINEE -
    ECHO.
    ECHO.
    ECHO           *****************************************************
    ECHO           *                                                   *
    ECHO           *  SAUVEGARDE JOURNALIERE SUR SUPPORT USB TERMINEE  *
    ECHO           *                                                   *
    ECHO           *****************************************************
    ECHO.
    ECHO.
    REM -------- MEMORISATION ET DECOMPOSITON DE L'HEURE DE FIN ---------
    set fin=%TIME%
    set /a hf=%TIME:~0,2%*3600 
    set /a mf=%TIME:~3,2%*60 
    set Sf=%TIME:~6,5%
    set /a s2=hf+mf+sf
    REM -------- CALCUL DE LA DUREE EN SECONDES ---------
    set /a s3=s2-s1
    rem ----- CONVERTION DUREE EN MINUTES ET SECONDES -----
    set /a h1=s3/3600
    set /a m1=(s3/60)-(h1*60)
    set /a s4=s3-((h1*3600)+(m1*60))
    REM -------- MISE EN PAGE RESULTAT ---------
    Echo          +------------------------------------+
    Echo          : Debut de sauvegarde : %debut%  :
    Echo          +---------------------+--------------:
    Echo          :  Fin de sauvegarde  : %fin%  :
    Echo          +------------------------------------+
    REM -------- INFORMATION SUR DUREE CONDITIONNEE -------
    if %s3% leq 3599 goto minutes
    :heures
    Echo          : Temps de sauvegarde : %h1% h %m1% min %s4% s
    goto fin
    :minutes
    if %s3% leq 59 goto secondes
    Echo          : Temps de sauvegarde : %m1% min %s4% s
    goto fin
    :secondes
    Echo          : Temps de sauvegarde : %s4% secondes
    :fin
    Echo          +------------------------------------+
    pause

    Bon y'a peut-être plus simple ... mais je n'ai pas réussi à faire autrement.

    et voilà le résultat

    Lien (si la phot n'apparait pas) : http://cjoint.com/data/imnEtoM3Mq_Resultat1.jpg


    La pose finale à la fin de l'éxécution ne permet de contrôler le matin en arrivant que le script c'est bien lancé pendant la nuit.

    Ah oui, comme je l'ai dit .... j'utilise le gestionnaire de tâches de Windows pour lancer au moment voulu mes ou mon petit programmes (Je fais des sauvegardes journalières et/ou hebdomadaire)
    Vous trouverez ce gestionnaire dans le panneau de configuration ---> Démarrer>Panneau de configuration
    Ouvrez le gestionnaire (Tâches Plannifiées ou scheduled tasks) et cliquez sur "Création d'une tâche planifiée" ... et suivre la procédure .... Pour info et/ou rappel le programme à lancer c'est le fichier .bat que vous avez crée

    Cela existe déjà peut-être ... Mais je voulais juste faire partager le résultat de mes travaux, comme j'en ai l'habitude dans d'autres domaines
    a+

    Edition du 02/09/09
    Amélioration du code, avec intégration d'un fichier TXT de suivi des sauvegardes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    REM Les lignes marquées REM sont des REMarques, qui vous aiderons à comprendre le principe
    REM Ces éléments peuvent être supprimés par la suite
    REM Les textes et les [Source] [Destination] de la commande XCOPY seront à adapter à vos besoins
    REM Il faut faire attention, les accents et les espaces dans les noms des répertoires
    REM peuvent ne pas faire fonctionner la routine.
    REM faire une sélection tous le texte ci-dessous, puis clic droit copier
    REM Ouvrir le bloc note et coller le texte
    REM Enregistrer le fichier ou vous le souhaitez, et changer l'extention en ".bat"
    REM Pour info: L'extension des fichiers texte du bloc note sont par défaut ".txt"
    
    @echo off
    ECHO.
    ECHO          **************************************************
    ECHO          *                                                *
    ECHO          *  SAUVEGARDE DES DONNES DE C: vers D: EN COURS  *
    ECHO          *                                                *
    ECHO          **************************************************
    ECHO.
    
    REM -------- MEMORISATION ET DECOMPOSITON DE L'HEURE DE DEBUT ---------
    set debut=%TIME%
    set /a hd=%TIME:~0,2%*3600 
    set /a md=%TIME:~3,2%*60 
    set Sd=%TIME:~6,5%
    set /a s1=hd+md+sd
    
    REM s1= heure de début convertie en secondes
    
    REM -------- MEMORISATION ET DECOMPOSITON DE LA DATE DU JOUR ---------
    set jo=%date:~5,2%
    set mo=%date:~8,2%
    set an=%date:~11,4%
    
    REM jo = jour de la sauvegarde
    REM mo= mois de la sauvegarde
    REM an= année de la sauvegarde
    
    REM -------- PROGRAMME DE SAUVEGARDE DE C:\TRAVAIL vers D:\TRAVAIL ---------
    REM Par exemple, nous voulons sauvegarder le contenu du répertoire c:\travail vers
    REM le disque de sauvegarde (interne ou externe) d:\travail
    
    ECHO - SAUVEGARDE DE C:\TRAVAIL vers D: \TRAVAIL EN COURS -
    del d:\travail\*Sauvegarde*.txt
    REM supprime le fichier de suivi des sauvegardes précédent
    
    xcopy c:\travail\*.* d:\travail\ /E /R /Y /I /F > d:\travail\"Sauvegarde_des-donnes_du_%jo%-%mo%-%an%.txt"
    
    REM -------- EXPLICATION SUR LA COMMANDE XCOPY ---------
    REM TRES IMPORTANT, IL EST IMPERATIF DE NE PAS FAIRE D'ERREUR SUR LA SYNTAXE …. 
    REM syntaxe : XCOPY [Source] [Destination] [/E] [/R] [/Y] [/I] [/F] > [Destination1]"nom_fichier.txt"
    REM [Source] Spécifie le ou les fichiers à copier. Dans notre cas [Source] = c:\travail
    REM [Destination] Spécifie l'emplacement et/ou le nom de nouveaux fichiers. Dans notre cas [Destination] = d:\travail
    REM /E Copie les répertoires et sous-répertoires, y compris les répertoires vides.
    REM /R Remplace les fichiers en lecture seule.
    REM /Y Supprime la demande de confirmation de remplacement de fichiers de destination existants.
    REM /I Si la destination n'existe pas et que plus d'un fichier est copié, considérer la destination comme devant être un répertoire.
    REM /F Affiche les noms de source et de destination complets lors de la copie.
    REM > permet de renvoyer les données sauvegardées vers un fichier
    REM [Destination1] Spécifie l'emplacement ou sera enregistrer le fichier "nom_fichier.txt". Dans notre cas [Destination1] = d:\travail
    
    echo Sauvegarde_des-donnes_du_%jo%-%mo%-%an%.txt creer
    
    REM si nous lançons la sauvegarde 31/08/09, le fichier : "Sauvegarde_des-donnes_du_31-08-2009.txt" sera créer
    REM Puisque les variables %jo% = 31, %mo%=08, %an%=2009 (voir §mémorisation et décomposition de la date du jour)
    REM Ce fichier sera créer dans le répertoire d:\travail. Il contiendra le nom des fichiers sources et destination copiés
    REM et permettra de contrôler que la sauvegarde s'est bien effectuée (fichier de suivi). Ceci dit cela n'est pas une obligation.
    REM vous pouvez le supprimer, car selon les volumes sauvegarder le fichier .txt peut être supérieur à 1Mo
    
    ECHO - SAUVEGARDE C:\TRAVAIL vers D: \TRAVAIL TERMINEE -
    ECHO.
    ECHO.
    
    REM Il est possible d'ajouter autan de sauvegarde que l'on souhaite.
    REM Le programme de sauvegarde doit tout simplement être ajouter en suivant.
    REM Comme dans le premier exemple au dessus
    REM Il suffit de reprendre les 9 lignes ci-dessus et de modifier en conséquence.
    
    ECHO          **************************************************
    ECHO          *                                                *
    ECHO          *  SAUVEGARDE DES DONNES DE C: vers D: TERMINEE  *
    ECHO          *                                                *
    ECHO          **************************************************
    ECHO.
    
    REM -------- MEMORISATION ET DECOMPOSITON DE L'HEURE DE FIN ---------
    set fin=%TIME%
    set /a hf=%TIME:~0,2%*3600 
    set /a mf=%TIME:~3,2%*60 
    set Sf=%TIME:~6,5%
    set /a s2=hf+mf+sf
    
    REM s2= heure de fin convertie en secondes
    
    REM -------- CALCUL DE LA DUREE EN SECONDES ---------
    set /a s3=s2-s1
    
    REM s3= Duree totale exprimee en secondes
    
    REM ----- CONVERTION DUREE EN MINUTES ET SECONDES -----
    set /a h1=s3/3600
    set /a m1=(s3/60)-(h1*60)
    set /a s4=s3-((h1*3600)+(m1*60))
    
    REM ----- RAPPEL DES VARIABLES UTILISEES DANS LE PROGRAMME-----
    REM debut= Heure de début de sauvegarde
    REM fin= Heure de fin de sauvegarde
    REM jo = jour de la sauvegarde
    REM mo= mois de la sauvegarde
    REM an= année de la sauvegarde
    REM h1= duree en heures -> nombre entier après calcul (décimale non gérée par DOS)
    REM m1= duree en minutes -> nombre entier après calcul (décimale non gérée par DOS)
    REM s1= heure de début convertie en secondes
    REM s2= heure de fin convertie en secondes
    REM s3= Duree totale exprimee en secondes
    REM s4= duree en secondes -> nombre entier après calcul (décimale non gérée par DOS)
    
    REM -------- MISE EN PAGE RESULTAT ---------
    
    Echo          +------------------------------------+
    Echo          : Debut de sauvegarde : %debut%  :
    Echo          +---------------------+--------------:
    Echo          :  Fin de sauvegarde  : %fin%  :
    Echo          +------------------------------------+
    
    REM -------- INFORMATION SUR DUREE CONDITIONNELLE -------
    REM Pour mémo:
    REM EQU - égal à
    REM NEQ - différent de
    REM LSS - inférieur à
    REM LEQ - inférieur ou égal à
    REM GTR - supérieur à
    REM GEQ - supérieur ou égal à 
    
    if %s3% leq 3599 goto minutes
    REM Si la durée totale de sauvegarde est inférieure ou égale à 1 heure (3599 s)
    REM renvoi à la ligne minutes
    :heures
    Echo          : Temps de sauvegarde : %h1% h %m1% min %s4% s
    REM affichage de la durée en heure(s), minutes et secondes
    goto fin
    
    :minutes
    if %s3% leq 59 goto secondes
    REM Si la durée totale de sauvegarde est inférieure ou égale à 1 minute (59 s)
    REM renvoi à la ligne secondes
    Echo          : Temps de sauvegarde : %m1% min %s4% s
    REM affichage de la durée en minutes et secondes
    goto fin
    
    :secondes
    Echo          : Temps de sauvegarde : %s4% secondes
    REM affichage de la durée en secondes
    
    :fin
    Echo          +------------------------------------+
    pause
    A+
    NB: Désolé I'm Here, mais je trouve le chapitre "contribution (codes-source)" un peu fouilli ...

  2. #2
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    salut,

    merci pour ton partage, le mieux est de mettre ton code dans la partie de contribution (codes-source)

  3. #3
    Membre averti

    Inscrit en
    Août 2009
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 7
    Par défaut Amélioration du code
    Bonjour,
    voir en bas du message initial : Edition du 02/09/09
    A+

  4. #4
    Invité de passage
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1
    Par défaut

    Cela existe déjà peut-être ... Mais je voulais juste faire partager le résultat de mes travaux, comme j'en ai l'habitude dans d'autres domaines
    a+
    Quel cochon !

  5. #5
    Membre chevronné

    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Décembre 2003
    Messages
    333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2003
    Messages : 333
    Billets dans le blog
    1
    Par défaut
    @jeefreeze : Merci pour ce retour c'est sympa. Dans le genre tout prêt libre, tu as filehamster aussi, ou encore toucan

Discussions similaires

  1. sauvegarde automatisée sous windows 2000 server
    Par k_slater dans le forum Windows Serveur
    Réponses: 4
    Dernier message: 23/10/2006, 16h06
  2. Gestionnaire des Tâches
    Par faressam dans le forum Windows XP
    Réponses: 8
    Dernier message: 12/09/2006, 19h32
  3. Je n'arrive pas à lancer le gestionnaire des tâches
    Par GBAGO dans le forum Windows XP
    Réponses: 9
    Dernier message: 19/10/2005, 09h20
  4. [process] Afficher contenu gestionnaire des tâches
    Par keny dans le forum C++Builder
    Réponses: 3
    Dernier message: 07/07/2005, 17h56
  5. Comment sauvegarder MySQL via SSH ?
    Par Blade dans le forum Administration
    Réponses: 7
    Dernier message: 30/09/2004, 14h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo