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 :

Script de sauvegarde


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de Yoshidu62
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 294
    Par défaut Script de sauvegarde
    Bonjour,

    Tout d'abord Meilleurs Voeux à tous pour cette nouvelle année .

    J'aurais besoin de vos lumières concernant un script de sauvegarde que je viens de coder. Mon problème est le suivant :

    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
    ############################
    #   Script de sauvegarde   #
    ############################
    #
    ###Lancement du script
    #
    #
    ###Sauvegarde du repertoire Documents
    #
    Accès refusé
    Impossible de créer le répertoire - E:\Documents\Ma musique
    Accès refusé
    Impossible de créer le répertoire - E:\Documents\Mes images
    Accès refusé
    Impossible de créer le répertoire - E:\Documents\Mes vidéos
    Les fichiers ont ete copies sans erreur.
    #
    ###Sauvegarde du repertoire Musique
    #
    Les fichiers ont ete copies sans erreur.
    #
    ###Sauvegarde du repertoire Images
    #
    Les fichiers ont ete copies sans erreur.
    #
    ###Sauvegarde du repertoire Videos
    #
    Les fichiers ont ete copies sans erreur.
    #
    ###########################
    #   Sauvegarde terminee   #
    ###########################
    Ci-dessus le log que j'obtiens lorsque je lance mon script, vous pouvez voir 3 messages d'erreurs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Accès refusé
    Impossible de créer le répertoire - E:\Documents\Ma musique
    Accès refusé
    Impossible de créer le répertoire - E:\Documents\Mes images
    Accès refusé
    Impossible de créer le répertoire - E:\Documents\Mes vidéos
    Normalement dans cette partie du script l'objectif est de copier mon répertoire "Mes documents", via la commande XCOPY, vers mon disque dur externe. Et contrairement à ce qu'indique le log, il n'y a aucun répertoire "Ma musique", "Mes images" ou "Mes vidéos" dans ce répertoire, donc je ne comprends ce qu'il essaie de copier.

    Important : J'utilise Windows 7 Professionnel et pour ceux qui ne le saurait pas les 3 répertoires "Ma musique", "Mes images" et "Mes vidéos" ne se trouvent plus dans le répertoire "Mes documents" contrairement à l'arborescence utilisée dans Windows XP.

    Donc plusieurs possibilité pour expliquer cette erreur :
    1. Problème dans mon script
    2. Problème/Bug lié au changement d'arborescence depuis Windows XP


    Voici mon script :

    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
    157
    158
    159
    160
    161
    162
    163
    @echo off
    
    REM Script de sauvegarde
    REM Version 1.0
    REM 02/01/2010
    
    REM Initialisation des variables
    set HOME_DIR=C:\Users\ngressier
    
    set DOC_DIR=C:\Users\ngressier\Documents
    set MUSIC_DIR=C:\Users\ngressier\Music
    set IMAGE_DIR=C:\Users\ngressier\Pictures
    set VIDEO_DIR=C:\Users\ngressier\Videos
    
    set SAVE_DOC_DIR=E:\Documents
    set SAVE_MUSIC_DIR=E:\Musique
    set SAVE_IMAGE_DIR=E:\Images
    set SAVE_VIDEO_DIR=E:\Videos
    
    set LOG_DOC_DIR=E:\Documents\Backup_Documents.txt
    set LOG_MUSIC_DIR=E:\Musique\Backup_Musique.txt
    set LOG_IMAGE_DIR=E:\Images\Backup_Images.txt
    set LOG_VIDEO_DIR=E:\Videos\Backup_Videos.txt
    
    set TIMESTAMP=%date:~0,2%/%date:~3,2%/%date:~6,4%_%time:~0,2%%time:~3,2%
    
    echo ############################
    echo #   Script de sauvegarde   #
    echo ############################
    echo #
    echo ###Lancement du script
    echo #
    
    cd %HOME_DIR%
    
    echo #
    echo ###Sauvegarde du repertoire Documents
    echo #
    
    IF NOT EXIST %SAVE_DOC_DIR% GOTO ERROR_DOC_DIR
    IF EXIST %SAVE_DOC_DIR% GOTO COPY_DOC_DIR
    
    :COPY_DOC_DIR
    echo %TIMESTAMP% > %LOG_DOC_DIR%
    echo Backup Documents... >> %LOG_DOC_DIR%
    xcopy %DOC_DIR% %SAVE_DOC_DIR% /D /E /C /R /H /I /K /Y /G >> %LOG_DOC_DIR%
    
    IF ERRORLEVEL 5 GOTO DISKSPACE
    IF ERRORLEVEL 4 GOTO LOWMEMORY
    IF ERRORLEVEL 2 GOTO ABORT
    IF ERRORLEVEL 1 GOTO NOFILE
    IF ERRORLEVEL 0 GOTO SUCCESS_DOC
    
    :ERROR_DOC_DIR
    echo Repertoire Documents manquant.
    GOTO END
    
    :SUCCESS_DOC
    echo Les fichiers ont ete copies sans erreur.
    
    echo #
    echo ###Sauvegarde du repertoire Musique
    echo #
    
    IF NOT EXIST %SAVE_MUSIC_DIR% GOTO ERROR_MUSIC_DIR
    IF EXIST %SAVE_MUSIC_DIR% GOTO COPY_MUSIC_DIR
    
    :COPY_MUSIC_DIR
    echo %TIMESTAMP% > %LOG_MUSIC_DIR%
    echo Backup Musique... >> %LOG_MUSIC_DIR%
    xcopy %MUSIC_DIR% %SAVE_MUSIC_DIR% /D /E /C /R /H /I /K /Y /G >> %LOG_MUSIC_DIR%
    
    IF ERRORLEVEL 5 GOTO DISKSPACE
    IF ERRORLEVEL 4 GOTO LOWMEMORY
    IF ERRORLEVEL 2 GOTO ABORT
    IF ERRORLEVEL 1 GOTO NOFILE
    IF ERRORLEVEL 0 GOTO SUCCESS_MUSIC
    
    :ERROR_MUSIC_DIR
    echo Repertoire Musique manquant.
    GOTO END
    
    :SUCCESS_MUSIC
    echo Les fichiers ont ete copies sans erreur.
    
    echo #
    echo ###Sauvegarde du repertoire Images
    echo #
    
    IF NOT EXIST %SAVE_IMAGE_DIR% GOTO ERROR_IMAGE_DIR
    IF EXIST %SAVE_IMAGE_DIR% GOTO COPY_IMAGE_DIR
    
    :COPY_IMAGE_DIR
    echo %TIMESTAMP% > %LOG_IMAGE_DIR%
    echo Backup Images... >> %LOG_IMAGE_DIR%
    xcopy %IMAGE_DIR% %SAVE_IMAGE_DIR% /D /E /C /R /H /I /K /Y /G >> %LOG_IMAGE_DIR%
    
    IF ERRORLEVEL 5 GOTO DISKSPACE
    IF ERRORLEVEL 4 GOTO LOWMEMORY
    IF ERRORLEVEL 2 GOTO ABORT
    IF ERRORLEVEL 1 GOTO NOFILE
    IF ERRORLEVEL 0 GOTO SUCCESS_IMAGE
    
    :ERROR_IMAGE_DIR
    echo Repertoire Images manquant.
    GOTO END
    
    :SUCCESS_IMAGE
    echo Les fichiers ont ete copies sans erreur.
    
    echo #
    echo ###Sauvegarde du repertoire Videos
    echo #
    
    IF NOT EXIST %SAVE_VIDEO_DIR% GOTO ERROR_VIDEO_DIR
    IF EXIST %SAVE_VIDEO_DIR% GOTO COPY_VIDEO_DIR
    
    :COPY_VIDEO_DIR
    echo %TIMESTAMP% > %LOG_VIDEO_DIR%
    echo Backup Videos... >> %LOG_VIDEO_DIR%
    xcopy %VIDEO_DIR% %SAVE_VIDEO_DIR% /D /E /C /R /H /I /K /Y /G >> %LOG_VIDEO_DIR%
    
    IF ERRORLEVEL 5 GOTO DISKSPACE
    IF ERRORLEVEL 4 GOTO LOWMEMORY
    IF ERRORLEVEL 2 GOTO ABORT
    IF ERRORLEVEL 1 GOTO NOFILE
    IF ERRORLEVEL 0 GOTO SUCCESS_VIDEO
    
    :ERROR_VIDEO_DIR
    echo Repertoire Videos manquant.
    GOTO END
    
    :SUCCESS_VIDEO
    echo Les fichiers ont ete copies sans erreur.
    GOTO END
    
    REM Gestion des erreurs
    :DISKSPACE
    echo Une erreur d'ecriture disque est survenue.
    GOTO END
    
    :LOWMEMORY
    echo Erreurs diverses comme manque de memoire, espace disque insuffisant, nom de lecteur invalide ou syntaxe incorrecte.
    GOTO END
    
    :ABORT
    echo L'utilisateur a utilise [Ctrl]+[C] pour arreter xcopy. 
    GOTO END
    
    :NOFILE
    echo Aucun fichier a copier n'a ete trouve.
    GOTO END
    
    :END
    
    echo #
    echo ###########################
    echo #   Sauvegarde terminee   #
    echo ###########################
    echo.
    
    pause
    Y-a-t-il une erreur dans mon script ? Ou alors une solution pour ne plus afficher ces "fausses" erreurs ?

    C'est le premier batch que je code donc si vous avez des remarques pour améliorer ou optimiser mon script n'hésitez pas .

    D'ailleurs en parlant d'améliorer mon script, j'ai remarqué que la commande XCOPY associée à l'option /D permettait de faire de la copie incrémentielle, c'est-à-dire ne copier que ce qui a changé entre le répertoire source et le répertoire de sauvegarde, ce qui est très pratique pour éviter de tout copier à chaque fois.

    Néanmoins si un répertoire ou un fichier a été supprimé dans le répertoire source, XCOPY ne le supprimera pas dans le répertoire de sauvegarde . Y-a-t-il une solution avec XCOPY ou alors autrement ?

    Merci d'avance à tous
    VIM un éditeur pour la VIe : http://www.vim.org

    Ubuntu, une distribution Linux pour tous : http://www.ubuntu.com/

    Mon espace perso : http://ngressier.developpez.com

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Par défaut
    Bonjour
    et en faisant set >>mesvariables.txt tu ne peux pas remplacer C:\Users\ngressier par %userprofile%\Documents ?

    et en faisant un clic droit sur ton bat et choisir utiliser en tant qu'administrateur ça ne fonctionne pas ?

  3. #3
    Rédacteur
    Avatar de Yoshidu62
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 294
    Par défaut
    Bonsoir Acris,

    Merci de t'intéresser à mon problème

    Je viens de tester le lancement en tant qu'administrateur et ça n'a rien changé. Je n'ai pas le temps pour l'instant de tester avec %USERPROFILE% mais je le fais dès que possible et te tiens informé du résultat

    Sinon pas d'idée pour la suppression des répertoires ?

    Encore merci.
    VIM un éditeur pour la VIe : http://www.vim.org

    Ubuntu, une distribution Linux pour tous : http://www.ubuntu.com/

    Mon espace perso : http://ngressier.developpez.com

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Par défaut
    Pour une synchronisation mirroire peut etre remplacé xcopy par robocopy /MIR

  5. #5
    Rédacteur
    Avatar de Yoshidu62
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 294
    Par défaut
    Après test avec %USERPROFILE% le problème est toujours présent .

    Merci pour ROBOCOPY, ça a l'air très intéressant, je vais adapter mon script pour utiliser ROBOCOPY .
    VIM un éditeur pour la VIe : http://www.vim.org

    Ubuntu, une distribution Linux pour tous : http://www.ubuntu.com/

    Mon espace perso : http://ngressier.developpez.com

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Par défaut
    Bonsoir
    tu réalises bien un clic droit sur ton batch pour l executer quasi obligatoire sous vista ou seven

    essaie en mettant des " "

    xcopy "%DOC_DIR%" "%SAVE_DOC_DIR%"

  7. #7
    Rédacteur
    Avatar de Yoshidu62
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 294
    Par défaut
    Problème d'accents corrigé grâce à la commande CHCP (j'ai passé le CHCP à 1252 au lieu de 850).

    Merci Acris .
    VIM un éditeur pour la VIe : http://www.vim.org

    Ubuntu, une distribution Linux pour tous : http://www.ubuntu.com/

    Mon espace perso : http://ngressier.developpez.com

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Par défaut
    Je ne vois pas pourquoi il cherche ce dossier fantome à moins que tu utilises des txt contenant ce chemin...

Discussions similaires

  1. Script pour sauvegarde OVH
    Par d10g3n dans le forum Linux
    Réponses: 6
    Dernier message: 18/12/2006, 16h09
  2. Shell script de sauvegarde
    Par marza dans le forum Shell et commandes GNU
    Réponses: 15
    Dernier message: 22/11/2006, 22h32
  3. Script de sauvegarde FTP
    Par goldorax113 dans le forum Développement
    Réponses: 5
    Dernier message: 09/11/2006, 11h08
  4. Script de sauvegarde sous REDHAT 7.3
    Par florfilla18 dans le forum Linux
    Réponses: 12
    Dernier message: 22/08/2006, 17h03
  5. erreur sur script de sauvegarde
    Par zouetchou dans le forum Langage
    Réponses: 5
    Dernier message: 08/12/2005, 08h50

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