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

Modules Perl Discussion :

[SFTP] debutant


Sujet :

Modules Perl

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2007
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 72
    Points : 46
    Points
    46
    Par défaut [SFTP] debutant
    Bonjour,

    Je voudrais faire un petit script en PERL, mais je suis débutant.

    Pour chaque fichier qui se trouve dans mon répertoire FAIRE
    Une connexion SFTP avec en paramètre un host, un user et password
    Vérifier l'existence d'un répertoire distant
    Si dossier non existant, le créer
    Mettre le fichier récupéré en local dans ce répertoire distant
    Si transfert non réussi, le placer dans un autre répertoire en local
    Fermer connexion SFTP
    Fin


    Pour l'instant j'ai ce 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
     
    #localdir, tmpdir sont des répertoires
     
    my %args = (
    user => user,
    password => passwd,
    debug => 'true',
    );
     
    foreach $file ($localdir) 
    {
    	# Make connection
    	my $sftp = Net::SFTP->new(host, %args);
     
    	# test if tmp dir already exist
    	$sftp->do_opendir($tmpdir);
    	if ( undef ) {
    		$sftp->do_mkdir($tmpdir);	
    	}
     
    	$sftp->put($file, $tmpdir)
    	if (undef ) {
    		# mettre dans répertoire local
    	}
     
    }
    Alors je ne sais pas comment marche les retours de fonction (undef?) pour savoir si cela a marché ou pas. Sinon pouvez vous m'aidez pour gérer ce script... merci d'avance.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 38
    Points : 45
    Points
    45
    Par défaut
    Pour les retours de fonctions tu devrais directement les tester dans le if :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if($sftp->do_opendir($tmpdir))
    {
      #doStuff
    }
    mais il me semble que quoi qu'il arrive le retour d'une fonction est stocké dans la variable $_ et donc que ton if teste cette meme variable. Je pense donc que le code que je t'ai présenté doit être équivalent au tien.
    Question stupide : je ne vois pas de teste pour savoir si la connexion est bien ouverte, es-tu sûr quelle le soit?
    Voili Voilou
    FX

Discussions similaires

  1. [FLASH] pb debutant
    Par ultrakas dans le forum Flash
    Réponses: 2
    Dernier message: 05/06/2003, 00h48
  2. [debutant] Questions sur 1 futur projet
    Par cyrull22 dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 28/04/2003, 21h49
  3. [debutant]Limiter le temps de saisi
    Par Nasky dans le forum C
    Réponses: 5
    Dernier message: 17/03/2003, 15h47
  4. [Debutant] Fichier war
    Par saispasfau dans le forum JBuilder
    Réponses: 2
    Dernier message: 17/03/2003, 15h32
  5. Réponses: 3
    Dernier message: 09/02/2003, 01h09

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