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 :

récupération de fichier avec pscp [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre régulier
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Janvier 2012
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 97
    Points : 75
    Points
    75
    Par défaut récupération de fichier avec pscp
    Salut,

    Je me permets de poster car je ne trouve pas réellement de solution à mon problème avec pscp.exe (utilitaire de putty pour la récupération de fichier via ssh dans mon cas, pour ce qui ne connaissent pas).

    Je me connecte donc à ma machine sans problème, la commande pure marche directement en prompt.

    Mais dès que je l'utilise dans un .bat (avec compte administrateur pour pscp et mon batch) je me retrouve avec un "cannot create file"
    Voici mon script simpliste pour la commande générique.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @echo off
    echo %DATE% 
    echo %TIME% 
    set dateyear=%date:~6,4%
    set datemonth=%date:~3,2% 
    echo %dateyear% 
    echo %datemonth% 
    
    mkdir "F:\partages\99.Programmes\99.00.Socle\REPORTING\REQUETES METIERS\Regie\%dateyear%\%datemonth%"
    
    
    pscp -l user -pw password@10.168.***.***:/usr/share/data-integration/Reporting/Regie/*.xls "F:\partages\99.Programmes\99.00.Socle\REPORTING\REQUETES
    J'avais trouvé une solution à rajouter un . au niveau du chemin windows, faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     "F:\partages\99.Programmes\99.00.Socle\REPORTING\REQUETES METIERS\Regie\%dateyear%\%datemonth%"
    vers
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     "F:.\partages\99.Programmes\99.00.Socle\REPORTING\REQUETES METIERS\Regie\%dateyear%\%datemonth%"
    Sans réel succès, et ducoup je ne trouve rien de plus car le chemin tel quel est censé fonctionner.

    J'ai aussi essayé en retirant mes variables. même problème pour la copie du fichier avec un "cannot create file"

    Si une personne ayant une connaissance plus approfondie que la mienne avec pscp, je lui serai dûment reconnaissant de me diriger sur la bonne voie

    Ce matin j'ai dû lancé environs 380 commandes à la mano et on finit..

    Merci,

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    Par défaut
    Je ne connais rien à ton problème et serait bien incapable de t'aider plus mais je note

    Citation Envoyé par aerane Voir le message
    Je me connecte donc à ma machine sans problème, la commande pure marche directement en prompt.

    Mais dès que je l'utilise dans un .bat (avec compte administrateur pour pscp et mon batch) je me retrouve avec un "cannot create file"
    J'imagine que lorsque tu le fais à la main, tu le fais avec ton compte perso.

    Le compte admin utilisé opur le .bat a-t-il le lecteur F: correctement monté comme lorsque tu le fais à la main ?
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  3. #3
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Salut,

    essaye de faire un CALL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    call pscp -l user -pw password@10.168.***.***:/usr/share/data-integration/Reporting/Regie/*.xls "F:\partages\99.Programmes\99.00.Socle\REPORTING\REQUETES METIERS\Regie\%dateyear%\%datemonth%"
    et retourne
    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  4. #4
    Membre régulier
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Janvier 2012
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 97
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    Je ne connais rien à ton problème et serait bien incapable de t'aider plus mais je note



    J'imagine que lorsque tu le fais à la main, tu le fais avec ton compte perso.

    Le compte admin utilisé pour le .bat a-t-il le lecteur F: correctement monté comme lorsque tu le fais à la main ?
    Non je le test bien avec le même compte (admin) du serveur (win2k8 R2)

    Le F: correspond a un deuxième disque tout comme on aurai C: et D: sur un desktop. J'utilise vraiment le compte admin principal du serveur.

    Citation Envoyé par sachadee Voir le message
    Salut,

    essaye de faire un CALL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    call pscp -l user -pw password@10.168.***.***:/usr/share/data-integration/Reporting/Regie/*.xls "F:\partages\99.Programmes\99.00.Socle\REPORTING\REQUETES METIERS\Regie\%dateyear%\%datemonth%"
    et retourne
    Toujours le même problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    scp: F:\partages\99.Programmes\99.00.Socle\REPORTING\REQUETES METIERS\AF\2013\05\AQREP-0030-Etat mastercard-B_130506.xls: Cannot create file

  5. #5
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 223
    Points : 294
    Points
    294
    Par défaut
    Bonjour,

    Dans la commande pscp, mets l'option -v pour être en mode verbeux.
    Y a-t-il plus d'informations concernant le problème?

  6. #6
    Membre régulier
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Janvier 2012
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 97
    Points : 75
    Points
    75
    Par défaut
    Malheureusement non,

    Voici le retour du verbose détaillé mais sans autre erreur. Je me demande si ca ne viendrai pas de windows ou, il n'execute pas en tant qu'administrateur le script mais en tant que Adminlocal...session crée avec les droits admin identique pourtant.

    A subdirectory or file F:\partages\99.Programmes\99.00.Socle\REPORTING\REQUETES
    METIERS\AF\2013\05 already exists.

    Looking up host "10.168.100.120"
    Connecting to 10.168.100.120 port 22
    Server version: SSH-2.0-OpenSSH_5.1p1 Debian-5
    Using SSH protocol version 2
    We claim version: SSH-2.0-PuTTY_Release_0.62
    Doing Diffie-Hellman group exchange
    Doing Diffie-Hellman key exchange with hash SHA-256
    Host key fingerprint is:
    ssh-rsa 2048 f0:13:15:00:hh:05:78:eb:3s:24:04:99:j9:bz:a2:fb
    Initialised AES-256 SDCTR client->server encryption
    Initialised HMAC-SHA1 client->server MAC algorithm
    Initialised AES-256 SDCTR server->client encryption
    Initialised HMAC-SHA1 server->client MAC algorithm
    Using username "root".
    Sent password
    Access granted
    Opened channel for session
    Started a shell/command
    Using SFTP
    Connected to 10.168.100.120

    scp: F:\partages\99.Programmes\99.00.Socle\REPORTING\REQUETES METIERS\AF\2013\05
    \AQBI-REP0052_Ctrl_OAP_130506.xls: Cannot create file


    Sent EOF message
    Server sent command exit status 0
    Disconnected: All channels closed

  7. #7
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 223
    Points : 294
    Points
    294
    Par défaut
    Et si tu te places dans le répertoire avant et que tu mets le chemin relatif dans la commande pscp ("."), par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @echo off
    echo %DATE% 
    echo %TIME% 
    set dateyear=%date:~6,4%
    set datemonth=%date:~3,2% 
    echo %dateyear% 
    echo %datemonth% 
    
    mkdir "F:\partages\99.Programmes\99.00.Socle\REPORTING\REQUETES METIERS\Regie\%dateyear%\%datemonth%"
    
    cd /D "F:\partages\99.Programmes\99.00.Socle\REPORTING\REQUETES METIERS\Regie\%dateyear%\%datemonth%"
    
    pscp -l user -pw password@10.168.***.***:/usr/share/data-integration/Reporting/Regie/*.xls .
    Toujours l'erreur ?

  8. #8
    Membre régulier
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Janvier 2012
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 97
    Points : 75
    Points
    75
    Par défaut
    Malheureusement cela ne fonctionne pas...le truc assez drôle est que en changeant la variable du numéro du mois par "test" en dossier a créer, cela marche, c'est comme si la double variable qui se suit lui pose problème.

    Malheureusement, je ne voie pas comment changer cela car il doit être présent sous cette forme...et changer tout les mois le script ça serai bien ch**** et l'automatisation n'aurai plus lieux d'être

  9. #9
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 223
    Points : 294
    Points
    294
    Par défaut
    Salut,

    Bon je viens de relancer mon vieux linux ubuntu sur VM, d'installer openssh-server, de télécharger pscp.exe, et de tester.

    résultat: même erreur que toi...

    Mais en regardant de plus près on se rend compte qu'il y a un espace à la fin de la valeur de la variable "datemonth" (fin de ligne)

    Si j'enlève cet espace, ça marche mieux haha.

    Peux-tu tester en enlevant l'espace à la fin de cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set datemonth=%date:~3,2%

  10. #10
    Membre régulier
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Janvier 2012
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 97
    Points : 75
    Points
    75
    Par défaut
    Je suis passé a côté de cet espace... On se le prend souvent en pleine poire d'une erreur si bête

    Un grand merci a ludo pour le dépoussiérage de sa VM, j'avoue que je n'avais pas vu, pourtant faisant toujours attention en shell, là il m'est passé sous le nez.

    Résolu, ça marche et champagne

  11. #11
    Membre actif
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 223
    Points : 294
    Points
    294
    Par défaut
    Pour éviter ces erreurs, je te conseille d'utiliser un éditeur de texte avancé, et d'afficher les symboles de fin de ligne...

  12. #12
    Membre régulier
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Janvier 2012
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 97
    Points : 75
    Points
    75
    Par défaut
    Citation Envoyé par ludo40190 Voir le message
    Pour éviter ces erreurs, je te conseille d'utiliser un éditeur de texte avancé, et d'afficher les symboles de fin de ligne...
    Je ne citerai pas le fameux notepad++ et je dirai meme + qui est d'office partout avec moi mais j'ai une hantise du retour charriot actif, faut que je pense a l'activé juste a la fin des scripts

  13. #13
    Membre du Club
    Homme Profil pro
    Chef de projet
    Inscrit en
    Novembre 2015
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 38
    Points : 40
    Points
    40
    Par défaut
    J'ai lancé une traduction de doc du logiciel putty qui permet l'utilisation du protocole PSCP.
    Mais j'avoue ne pas comprendre grand chose a ce que je lis en anglais traduit, en français j'arriverais peut être !
    https://the.earth.li/~sgtatham/putty/0.70/puttydoc.txt (section 5.2)

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

Discussions similaires

  1. Récupération des fichiers avec tfilelist
    Par lobna20 dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 10/04/2015, 01h55
  2. Réponses: 8
    Dernier message: 06/03/2012, 15h02
  3. ANT récupération de fichier avec Get
    Par Malatok dans le forum Plateformes (Java EE, Jakarta EE, Spring) et Serveurs
    Réponses: 0
    Dernier message: 25/02/2011, 15h49
  4. Récupération d'un fichier avec Ajax via un formulaire
    Par ludivine49 dans le forum Langage
    Réponses: 2
    Dernier message: 21/06/2010, 16h51
  5. Récupération de fichiers avec un service web
    Par Fantacassis dans le forum Services Web
    Réponses: 5
    Dernier message: 24/09/2008, 15h38

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