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 :

[Debutant]Ftp et manipulation de répertoires/fichiers


Sujet :

Modules Perl

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 10
    Points : 7
    Points
    7
    Par défaut [Debutant]Ftp et manipulation de répertoires/fichiers
    Bonjour,

    Débutant en perl, j'aimerais avoir votre avis sur la faisablilité d'une fonction.

    J'ai un répertoire sur une machine distante dans lequel j'accède via une session FTP. J'aimerais scanner l'ensemble de ce répertoire et ne récupérer sur ma machine locale que les fichiers répondants à trois critères:
    - un nom type ".log"
    - une date de dernière modification inférieur à un paramètre
    - une date de création supérieure à un autre paramètre

    sela vous semble t-il possible? La solution serait bien de récupérer tout le répertoire, mais vu le volume...

    Merci d'avance,
    Mic

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 46
    Points : 46
    Points
    46
    Par défaut
    salut a toi nouvel arrivant,

    oui ca me semble tout a fait posible, à condition que le répertoire soit bien partagé. ensuite tu fait un dir et une reconnaissance de caractère. puis il me semble que des module te permette de récupérer la date de création et modification on en a parle y a pas longtemps dans le forum. fait une recherche,ebauche un morceau de code et envoie en un bout si t as des problemes.

    a+

  3. #3
    Membre actif
    Avatar de Choupi
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 223
    Points : 235
    Points
    235
    Par défaut
    Voila un morceau de code pour que tu commences...Comme je suis fatigué et contre productif ce soir (merci Driden pour me rappeler l'existance de grep ) Il manque une partie (celle du test des dates)...

    use Net::FTP;

    $ftp = Net::FTP->new("ftpADRESS", Debug => 0) or die "Cannot connect to some.host.name: $@";
    $ftp->login("USERNAME","PASSWORD") or die "Cannot login ", $ftp->message;
    $ftp->cwd("/public_html/test") or die "Cannot change working directory ", $ftp->message;
    @tabfile = $ftp->ls();

    $date = "";
    $motif = ".log";

    @tablog = grep(/($motif)$/, @tabfile); # à cette étape quand on veut dormir il faut harceler Driden via Msn et on obtient un grep

    foreach (@tablog){
    $time = localtime $ftp->mdtm($_);
    print "fichier: $_ | date de derniere modification: $time";
    if( correspond au critere de date de modif ){
    $ftp->get($_) or die "get failed ", $ftp->message;
    }
    }
    $ftp->quit;
    Pour le moment je ne sais recuperer que la date de derniere modif (via mdtm() ... Je voulais utiliser la commande FTP List mais j'y arrive pô Si quelqu'un peut me dire comment la mettre en place ...) Avec ca je pense que tu as de bonnes bases.

    Bon code & Bonne Nuit @ tout le monde.

    Choupi.
    MacOS 10.5 / Ubuntu / C / Python / R
    Pensez au tag résolu

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Merci pour le code.

    J'ai copié tout ça dans mon script et je n'ai visiblement pas le module ftp.pm. Je l'ai récupéré sur le site du CPAN (comme mentionné dans un autre sujet) mais je n'ai pas les droits d'écriture dans le dossier auquel mon shell fait référence :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Can't locate Net/FTP.pm in @INC (@INC contains: /usr/perl5/5.00503/sun4-solaris /usr/perl5/5.00503 /usr/perl5/site_perl/5.005/sun4-solaris /usr/perl5/site_perl/5.005 .) at analyse_log.ksh line 97.
    Est -il possible de simplement le copier dans un autre répertoire ou doitje faire appel à mon administrateur pour installer plus proprement ce module perl sur le serveur?

    Mic

  5. #5
    Membre actif
    Avatar de Choupi
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 223
    Points : 235
    Points
    235
    Par défaut
    Tu dois l'installer propremment... Demande à ton admin.
    MacOS 10.5 / Ubuntu / C / Python / R
    Pensez au tag résolu

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

Discussions similaires

  1. (debutant) bouton qui manipule un champs texte
    Par soiz775 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 06/02/2009, 17h33
  2. [Debutant] Parcours et manipulation String
    Par Lafab dans le forum Langage
    Réponses: 4
    Dernier message: 05/05/2008, 10h33
  3. DEBUTANT : probleme de manipulation
    Par 7awela dans le forum Débuter
    Réponses: 4
    Dernier message: 25/11/2007, 13h11
  4. [debutant] FTP
    Par james2001 dans le forum Entrée/Sortie
    Réponses: 14
    Dernier message: 16/09/2005, 23h20
  5. [FTP] Test de l'existence d'un fichier sur un serveur ftp
    Par lapartdombre dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 01/08/2005, 14h13

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