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 :

Envoi fichier sur FTP selon la provennace [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Par défaut Envoi fichier sur FTP selon la provennace
    Bonjour,

    Je rencontre des problèmes avec un script qui me permet de récupérer des fichiers "*.txt" sur différents postes et de les rassemblés sur un même serveur.
    Je les rassemble dans un même dossier et selon leur provenance dans des sous dossier et les envois sur un FTP.

    Ex : PC1 (*.txt) --> Serveur : Dossier "Log\PC1"
    PC2 (*.txt) --> Serveur : Dossier "Log\PC2"

    Ainsi voici mes scripts :

    => "Recup.bat" :
    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
    set AA=%date:~-2%
    set MM=%date:~3,2%
    set JJ=%date:~0,2%
    set date_amj=%AA%MM%JJ%
    set batch="e:\Batch\recup"
    set data="e:\data\Donnees"
    set log="e:\data\LOGS\recup.log"
    
    echo -------------  Début procedure : RECUP ----------- >> %log%
    echo %date% %time% >> %log% 
    
    cd %batch%
    call RECUP_USE.bat "\\192.168.1.2\D$" 12345 Administrateur %date_amj%
    call RECUP_USE.bat "\\192.168.1.2\D$" 12345 Administrateur %date_amj%
    call RECUP_USE.bat "\\192.168.1.2\D$" 12345 Administrateur %date_amj%
    call RECUP_USE.bat "\\192.168.1.2\D$" 12345 Administrateur %date_amj%
    
    dir %data%\*.txt >> %log%
    
    call Envoi_FTP.bat
    
    move %DATA%\*.txt %DATA%\old >> %log%
    echo Traitement terminé >> %log%
    
    exit
    => "RECUP_USE.bat" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     set batch="e:\Batch\recup"
    set data="e:\data\Donnees"
    set log="e:\data\LOGS\recup.log"
    
    Net use y: /delete /Y >> %log%
    Net use y: %1 %2 /USER:%3
    
    Copy y:\travail\Data\poste*.txt %data%\Data >> %log%
    move y:\travail\Data\poste*.txt y:\travail\Data\old >> %log%
    
    Net use y: /delete /Y >> %log%
    
    exit


    ==> "Envoi_FTP.bat" :
    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
    set AA=%date:~-2%
    set MM=%date:~3,2%
    set JJ=%date:~0,2%
    set date_amj=%AA%%MM%%JJ%
    set batch="e:\Batch\recup"
    set data="e:\data\Donnees"
    set log=" e:\data\LOGS\envoi_FTP.LOG"
    set tools="e:\Ddata\Tools"
    
    echo %date% %time% ------  Envoi des fichiers  ---- >>%log%
    echo "==> Envoi des fichiers" >> %log%
    
    e:
    cd e:\data\Donnees
    echo "==> Emission des fichiers par FTP" >> %log%
    %tools%\psftp -v -l envoi -pw password 80.1.2.3 -P 28 -b %batch%\envoi_OUT.cde >>%log%
    Net use z: /delete /Y
    echo -------------------------------------------------------------------------- >>%log%
    ==> "Envoi_out.cde" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    lcd "e:\data\Donnees"
    
    cd ../poste1
    mput poste1.txt
    cd ../poste2
    mput poste2.txt
    cd ../poste3
    mput poste3.txt
    cd ../poste4
    mput poste4.txt
    bye
    quit

    Le script fonctionne bien dans l'ensemble, c'est-à-dire qui récupère les fichiers sur les différents postes, les copie sur le serveur puis les envois pas sur le serveur FTP dans les dossiers correspondant à chaque poste.
    Poste 1 (poste1.txt) => Serveur => (ftp) => "\Log\Poste1"
    Poste 2 (poste2.txt) => Serveur => (ftp) => "\Log\Poste2"
    Poste 3 (poste3.txt) => Serveur => (ftp) => "\Log\Poste3"

    Mais mon problème et que lorsqu'un poste est indisponible, aucun fichier n'est récupérer (ex : poste2) alors lors de l'envoi FTP le transfert s'arrête net au fichier manquant et ne continue pas après.

    J'aimerai donc pouvoir forcer le script à continué à copier sur le FTP sans tenir compte de l’absence de certain fichier.

    Comment puis-je faire ?

    Merci d’avance de votre aide,

    Cordialement,

    Ptitsnake.

  2. #2
    Membre expérimenté Avatar de plopi
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mars 2011
    Messages
    191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 191
    Par défaut
    Question...

    Ce script il exécuté en local depuis chaque PC ou il est lancé à distance de façon centralisée (genre psexec + une liste de machines) ?

  3. #3
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Par défaut
    Le script est lancé à distance depuis le PC serveur et va récupérer les fichiers d'une dizaine de PC.

    Merci d’avance de votre aide,

    Ptitsnake

  4. #4
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    Salut,

    Citation Envoyé par Ptitsnake Voir le message

    Mais mon problème et que lorsqu'un poste est indisponible, aucun fichier n'est récupérer (ex : poste2) alors lors de l'envoi FTP le transfert s'arrête net au fichier manquant et ne continue pas après.

    J'aimerai donc pouvoir forcer le script à continué à copier sur le FTP sans tenir compte de l’absence de certain fichier.
    Citation Envoyé par PSFTP User Manual

    6.1.7 -be: continue batch processing on errors
    When running a batch file, this option causes PSFTP to continue processing even if a command fails to complete successfully.
    =>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ... psftp ... -be %batch%\envoi_out.cde ...

  5. #5
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Par défaut
    Merci de ton aide,

    Je vais essayé dès Mardi et je vous tiens au courant.

    Bon W-E

  6. #6
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Par défaut
    Salut à tous,

    J'ai donc testé la solution de minnesota avec la commande : "... psftp ... -be %batch%\envoi_out.cde ..."

    Bilan : Rien ne s'exécute, j'obtiens l'aide de la commande avec tous les arguments possibles et leurs définitions :


    Je ne comprend pas pourquoi avez-vous une idée ?

    Merci d'avance,

    Ptitsnake.

  7. #7
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    J'espère que t'as mis les petits points de suspension dans ta commande c'était juste pour réduire la longueur de la ligne et mettre en évidence le détail important.

    Donc si ta ligne-ci fonctionne,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    %tools%\psftp -v -l envoi -pw password 80.1.2.3 -P 28 -b %batch%\envoi_OUT.cde >>%log%
    la même, avec l'option supplémentaire qui s'impose, ne posera pas plus de problèmes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    %tools%\psftp -v -l envoi -pw password 80.1.2.3 -P 28 -be %batch%\envoi_OUT.cde >>%log%

  8. #8
    Membre du Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Par défaut
    Oui merci je n'ai pas mis les petits points.

    Mais j'ai juste ajouté le "e" à ma commande et ça me sort le man de celle-ci.
    Je vais peut-être essayer de mettre à jour ma version de putty, si vous avez d'autres idées...

    Merci d'avance,

    Ptitsnake.

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

Discussions similaires

  1. [Batch] Envoi auto fichier sur FTP
    Par Sami Xite dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 04/11/2009, 08h08
  2. Erreur programme d'envoi fichier sur serveur ftp
    Par batssa dans le forum Langage
    Réponses: 3
    Dernier message: 17/08/2007, 14h30
  3. [FTP] Envoi fichier sur FTP distant
    Par killbrice dans le forum Langage
    Réponses: 3
    Dernier message: 05/07/2007, 23h29
  4. Quel langage pour un projet d'envoi de fichiers sur ftp ?
    Par gehmert dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 26/03/2007, 00h14
  5. [C#] [FTP] Envoi et suppression fichier sur ftp NON ANONYME!
    Par djsbens dans le forum Windows Forms
    Réponses: 14
    Dernier message: 30/03/2005, 10h20

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