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 :

Archivage de données [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre averti
    Homme Profil pro
    Techinicien système et réseaux
    Inscrit en
    Mai 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Techinicien système et réseaux

    Informations forums :
    Inscription : Mai 2016
    Messages : 15
    Par défaut Archivage de données
    Bonjour à tous,

    Je suis actuellement étudiant dans une entreprise et celle-ci me demande de mettre en oeuvre un script permettant d'archiver des données vers un emplacement réseaux. De plus je débute dans le scripting.
    J'ai plusieurs contrainte pour ce script, la plupart vont être résolu via le planificateur de tâche de Windows (par exemple la fréquence de temps ainsi que le login permettant de se connecter à l'emplacement réseaux).

    Voici la liste des différentes étapes de mon script:
    - Test de la connectivité de l'emplacement réseaux
    - Tester si l'emplacement de destination est disponible
    - Archivage des données avec logs (checksum si possible mais je ne trouve pas de moyen)
    - Logs du script.

    * Le problème que je rencontre actuellement, est que mon script ne se ferme pas et je pense boucle sur le ping (le processus PING.exe fonctionne en permanence une fois le script éxécuté) et je ne trouve pas de moyen d'effectuer un checksum.

    SCRIPT DE PARAMETRAGE
    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
    @echo off
    
    Rem ----------------------------------- 
    :: NOM DU SERVEUR 
    set SRV=...
    
    
    Rem ----------------------------------- 
    :: Répertoire Source à archiver
    set SOURCE=...
    
    
    Rem ----------------------------------- 
    :: Répertoire de destination de l'archive
    set DESTINATION=\\...
    
    
    Rem ----------------------------------- 
    :: Répertoire ou ce situront les logs 
    set LOG=\\...
    
    
    Rem ----------------------------------- 
    :: Emplacement ou je souhaite que les dossiers de destination soit créés ou où ils se situent actuellement
    set EXISTDEST="\\...
    SCRIPT_DARCHIVAGE
    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
    @ECHO OFF 
    
    Rem ----------------------------------- 
    :: Appelle le fichier de parametrage
    call SETUP_V2.bat 
    
    Rem ----------------------------------- 
    :: Affiche le nom de la fenetre désiré 
    TITLE Script Archivage de donnees de %computername% vers %SRV%
    
    ECHO Test la connexion... 
    
    Rem ----------------------------------- 
    :: On Ping google.fr pendant 5secondes 
    PING %SRV% -n 1 > NUL 
    
    Rem ----------------------------------- 
    :: Si errorlevel vaut 0 alors tout et OK 
    IF %ERRORLEVEL% == 0 ( 
       CLS 
       ECHO Informations : 
       ECHO Site     - %SRV% 
       ECHO Etats    - [OK] 
       ECHO Internet - [OUI] 
    ) 
    GOTO TESTREP
    
    Rem ----------------------------------- 
    :: Si errorlevel vaut 1 alors tout et NUL 
    IF %ERRORLEVEL% == 1 ( 
       CLS 
       ECHO Informations : 
       ECHO Site     - %SRV%
       ECHO Etats    - [NUL] 
       ECHO Internet - [NON] 
    ) 
    GOTO END
    
    rem ----------------------------------
    :: test existance destination
    :TESTREP
    if exist %EXISTDEST% echo Dossier  - [REPERTOIRE EXISTANT] & goto COPY
    echo Dossier  - [REPERTOIRE CREER] 
    mkdir %EXISTDEST%
    Te
    
    :COPY
    rem ----------------------------------
    :: robocopy  --> infos http://www.tutos.eu/vault/Robocopy.pdf?PHPSESSID
    :: /E = Indique qu'il faut copier les sous-répertoires, même les vides
    :: /MIR = Mode mirroir. La cible sera à l'identique de la source. Cad que si la cible contient des données en plus, elles seront effacées.
    :: /DCOPY:T = L'outil prends soin de recopier les différentes dates des répertoires,comme celle de création, de modification etc ...
    :: /COPYALL = Copie toutes les infos de fichier, cad les dates, propriétaires, droits,information d'audit etc ...
    :: /TIMFIX = L'outil prend soin de vérifier les différentes dates des fichiers. Sans cela, il ne reporte que les dates des fichiers qu'il a lui même copié par lui même,
    :: cad que sans cela, si le fichier cible était déjà présent, les infos d'horodatages seraient ignorées.
    :: /XD"System Volume Information" = On exclu le répertoires nommé "System Volume Information"qui est un répertoire système que l'on a pas d'intérêt à copier et qui peut en plus générer des erreurs.
    :: /R:0 /W:0 = Pas de seconde tentative de copie en cas d'échec ni de temps d'attente entre 2 tentatives. En général quand cela ne veut pas, on n'insiste pas et on
    :: repasse une seconde couche de Robocopy après avoir analysé le log et corrigé les problèmes.
    :: /XF "pagefile.sys" = On exclu le fichier qui contient la « mémoire virtuelle », il ne présente donc pas d'intérêt sans compter le fait qu'il peut être très volumineux.
    :: /LOG+:"C:\RobocopyLogFile.txt" =  On indique l'emplacement du fichier de log de la copie. Si il existe déjà, on le complète.
    :: /NP = Pas d'affichage de compteur de progression. Cela parasite la lecture du fichier de log.
    robocopy "%SOURCE%" "%DESTINATION%" /E /MIR /DCOPY:T /COPYALL /TIMFIX /R:0 /W:0 /XD "System Volume Information" /XF "pagefile.sys" /NP 
    
    goto END
    
    
    
    
    :END
    rem ----------------------------------
    :: log
    SCRIPT_V2.bat>>log.txt
    
    exit
    Merci d'avance pour avoir la patience de lire tout celà!

    Cdlt,

  2. #2
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Bonjour à toi,

    Alors déjà ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Rem ----------------------------------- 
    :: On Ping google.fr pendant 5secondes 
    PING %SRV% -n 1 > NUL
    Je ne vois pas comment tu peux pinger pendant 5 secondes vu que le -n 1 ne fais qu'un seul ping

    Après je pense que ce que tu cherche à faire notamment avec calcul d'un checksum, ça serais plus simple en powershell.
    Car en Batch tu va devoir faire appel à un programme externe genre md5 qui n'est pas présent nativement dans Windows.
    Alors que powershell dispose de tout ce dont tu as besoin

  3. #3
    Membre averti
    Homme Profil pro
    Techinicien système et réseaux
    Inscrit en
    Mai 2016
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Techinicien système et réseaux

    Informations forums :
    Inscription : Mai 2016
    Messages : 15
    Par défaut
    Merci cerede2000 pour t'as réponse.

    Par rapport à mon problème de ping en boucle c'est résolu, merci pour cette remarque. Par contre le fait de faire un ping 1s et que cela tourne en boucle je comprend pas.

    Pour le checksum je vais essayer de voir en powershell, je peux pas me permettre d'intégrer d'autre programmes sur certains postes.

    Je met le post en résolu du coup.

    Merci pour toutes ces infos

  4. #4
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Hésite pas à ouvrir un post pour ton script en PS

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

Discussions similaires

  1. [Xquare] Archivage de données
    Par Zeusviper dans le forum XQUERY/SGBD
    Réponses: 1
    Dernier message: 22/03/2007, 19h23
  2. [10 G] archivage de données
    Par vincent.alyotech dans le forum Oracle
    Réponses: 4
    Dernier message: 14/03/2007, 11h42
  3. Archivage des données automatiques
    Par Claire07 dans le forum Access
    Réponses: 10
    Dernier message: 15/06/2006, 15h08
  4. [10g] Archivage de données par années
    Par Cereal123 dans le forum Oracle
    Réponses: 7
    Dernier message: 24/04/2006, 09h35
  5. Conseil pour un archivage de données
    Par Cerberes dans le forum Oracle
    Réponses: 14
    Dernier message: 07/04/2005, 10h38

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