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 :

Besoin d'aide pour un batch de sauvegarde incrementale


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Chine

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2011
    Messages : 15
    Par défaut Besoin d'aide pour un batch de sauvegarde incrementale
    Bonjour,

    actuellement je dois faire un petit batch pour mon entreprise afin qu'une employé puisse sauvegarder les données de son disque externe sur le pc de la boite.
    Je suis administrateur système et réseaux débutant et j'avoue que la programmation et moi ne somme pas bon copain. J'ai don récupérer un bon exemple sur le net que j'ai suivie mais j'arrive toujours pas aux résultats souhaité. J'ai fais toutes modifications qui me semblé nécessaire mais rien. Si quelqu'un à la patience et le temps de m'aider ça serais hyper cool. sa fais 2jours que je suis dessus et franchement je ne sais plus quoi faire.

    Cordialement,

    J'ai légèrement avancer, mais il me reste encore un problème c'est que je voudrais faire une sauvegarde incremental mais ça ne fonctionne pas si quelqu'un pourrais avoir une idée ci-dessou le code:

    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
    @ECHO OFF
    COLOR 0A
    echo.Date : %date%
    echo.Time : %time%
    
    REM BackupScript
    REM Version 1.01, Updated: 2008-05-21
    REM By Jason Faulkner (articles[-at-]132solutions.com)
    
    REM Performs full or incremental backups of folders and files configured by the user.
    
    REM Usage---
    REM > BackupScript
    echo.
    pause
    
    SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
    
    REM ---Configuration Options---
    
    
    REM SET BackupStorage=D:\TEST
    
    REM Which day of the week do you want to perform a full backup on?
    REM Enter one of the following: Sun, Mon, Tue, Wed, Thu, Fri, Sat, *
    REM Any day of the week other than the one specified below will run an incremental backup.
    REM If you enter '*', a full backup will be run every time.
    SET FullBackupDay=Mon
    
    
    SET dirBackup=E:\SAUVEGARDE
    SET filBackupConfig=BackupConfig.txt
    
    
    REM Validation.
    IF NOT EXIST %filBackupConfig% (
    echo.
    echo.
    echo No configuration file found, missing: %filBackupConfig%
    )
    
    
    REM Backup variables.
    FOR /f "tokens=1,2,3,4 delims=/ " %%a IN ('date /t') DO (
    SET DayOfWeek=%%a
    SET NowDate=%%d-%%b-%%c
    SET FileDate=%%b-%%c-%%d
    )
    
    IF {%FullBackupDay%}=={*} SET FullBackupDay=%DayOfWeek%
    IF /i {%FullBackupDay%}=={%DayOfWeek%} (
    SET txtBackup=Full
    SET swXCopy=/e
    ) 
    ELSE (
    SET txtBackup=Incremental
    SET swXCopy=/s/d:%FileDate%
    )
    
    echo.
    ECHO Starting to copy files.
    IF NOT EXIST "%dirBackup%" MKDIR "%dirBackup%"
    FOR /f "skip=1 tokens=*" %%A IN (%filBackupConfig%) DO (
    SET Current=%%~A
    IF NOT EXIST "!Current!" (
    ECHO ERROR! Not found: !Current!
    ) 
    ELSE (
    ECHO Copying: !Current!
    SET Destination=%dirBackup%\!Current:~0,1!%%~pnxA
    
    REM Determine if the entry is a file or directory.
    IF "%%~xA"=="" (
    REM Directory.
    XCOPY "!Current!" "!Destination!" /v/c/i/g/h/q/r/y %swXCopy%
    ) 
    ELSE (
    REM File.
    COPY /v /y "!Current!" "!Destination!"
    )
    )
    )
    ECHO Done copying files.
    
    echo.
    
    
    
    REM If the backup file exists, remove it in favor of the new file.
    rem IF EXIST "%BackupFileDestination%" DEL /f /q "%BackupFileDestination%"
    
    ECHO.
    
    rem ECHO Cleaning up.
    REM IF EXIST "%dirBackup%" RMDIR /s /q "%dirTempBackup%"
    ECHO.
    
    :End
    ECHO Finished.
    
    
    ECHO.
    
    pause
    ENDLOCAL
    Fichiers attachés Fichiers attachés

  2. #2
    Membre Expert Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Par défaut
    Tout d'abord :
    (Et pourquoi pas nettoyer ton script de toute la partie compression que tu as mis en commentaire, ça aidera à la lecture).

    Ensuite, peux-tu être plus précis, qu'est qui ne fonctionne pas exactement ? Quelle erreur obtiens-tu ?
    Quel est le comportement que tu attends ?

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Chine

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2011
    Messages : 15
    Par défaut Script sauvegarde
    Bonsoir,
    désolé pour les commentaires en trop.
    Je m'explique le batch copie bien les fichiers sources, vers la destination. Mais le problème c'est que quand les fichiers existent dans le fichier de destination, plutôt que les ignorer il les remplaces.
    Moi j'aimerais que le dossier de destination soit mis à jour lors de l’exécution du script. Je veux que seul les nouveaux fichiers ou ceux qui ont été modifier soit copier.
    En pièce jointe j'ai mis le code. Merci

  4. #4
    Membre Expert Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Par défaut
    De ce que je vois à première lecture :

    Dans ton fichier BackupConfig.txt il peut y avoir des repertoires et des fichiers.
    Si c'est un repertoire, il utilise xcopy et en cas de sauvegarde incrementale (Tous les jours sauf Lundi à priori, bien que la ça risque d'être plutot tous les jours à moins que ton OS soit configuré en anglais.) ne copie que les fichiers plus récents.
    Si c'est un fichier, il écrase dans tous les cas avec l'utilisation de copy.

    Deux choses:
    - Utiliser xcopy tous le temps.
    - Vérifie ce qu'affiche "date /t" sur ton environnement. Il y a de bonnes chances que le format ne corresponde pas à l'attendu et que NowDate, FileDate et DayofWeek ne soit pas correctement renseignés.

  5. #5
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Chine

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2011
    Messages : 15
    Par défaut Scrit to backup
    Bonjour,
    merci pour la réponse. Je suis vraiment débutant c'est mon 1er script. Alors pour ce qui est de ('date /t') il permet de donner la date du système. J'ai essayé de remplacer par DateNow mais il me fais une erreur de commande inconnu.
    J'ai mis Xcopy partout mais il écrase toujours toute les données. Quand au format de NowDate, FileDate et DayofWeek. D'après ce que j'ai pu lire sur le net le format me semble correcte. Mais comme expliquer je débute et je ne comprend pas beaucoup tous ce qui est dev.
    Merci

  6. #6
    Membre Expert Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Par défaut
    Je ne t'ai pas demandé ce que fait date /t, mais ce que ça renvoie sur ton environnment.

    Chez moi ça donne dd/mm/yyyy par exemple. Ce qui est incompatible avec ton script qui attend le jour de la semaine en plus.
    Ensuite quand je te demande de vérifier tes variables NowDate, FileDate et DayofWeek, c'est effectivement à l'exécution de ton programme. Je vois pas comment tu peux voir sur le net que c'est bon. La syntaxe est correcte mais ça ne veut pas dire que tu as ce que tu veux dans ces variables.

    Pour faire plus simple, ajoute un echo devant la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XCOPY "!Current!" "!Destination!" /v/c/i/g/h/q/r/y %swXCopy%
    et donne nous le résultat (l'affichage) pour une ligne.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. besoin d'aide pour un script batch
    Par tsumey dans le forum Windows 7
    Réponses: 2
    Dernier message: 11/11/2014, 13h43
  2. [batch] Besoin d'aide pour selectionner une imprimante
    Par alex_m94 dans le forum Windows
    Réponses: 3
    Dernier message: 13/09/2007, 14h25
  3. besoin d'aide pour le composant DBComboBox
    Par jane2002 dans le forum Bases de données
    Réponses: 8
    Dernier message: 28/02/2004, 19h01
  4. [TP]besoin d'aide pour commandes inconnues
    Par Upal dans le forum Turbo Pascal
    Réponses: 15
    Dernier message: 03/10/2002, 10h48
  5. Besoin d'aide pour l'I.A. d'un puissance 4
    Par Anonymous dans le forum C
    Réponses: 2
    Dernier message: 25/04/2002, 17h05

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