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

Langage Perl Discussion :

$ftp->delete : supprimer un fichier sur un serveur distant


Sujet :

Langage Perl

  1. #1
    Membre habitué Avatar de hammag
    Profil pro
    Inscrit en
    Février 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 511
    Points : 145
    Points
    145
    Par défaut $ftp->delete : supprimer un fichier sur un serveur distant
    Salut,
    bien sur vous avez déja compris mon pb en lisant le titre.
    voici mon script qui doit supprimer le fichier file sur le serveur disant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #!/usr/bin/perl
    use strict; use warnings;
    use Net::FTP;
     
    $ftp = Net::FTP->new("mon@ip") ;
     
    $ftp->login("login", "pwd");
     
    $ftp->cwd("/monRep");
     
    $ftp->delete(file);
    $ftp->quit();
    le pb : le fichier file n'est pas supprimé et j'ai ces messages d'eereurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Global symbol "$ftp" requires explicit package name at delete_dst.pl line 7.
    .
    .
    Bareword "file" not allowed while "strict subs" in use at delete_dst.pl line 14.
    Execution of delete_dst.pl aborted due to compilation errors.

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    tu n'as pas declaré ftp
    idem pour file qui ne veut rien dire. Je corrige ton script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/usr/bin/perl
    use strict; 
    use warnings;
    use Net::FTP;
     
    my $ftp = Net::FTP->new("mon@ip") ;
    my $file = "ton_fichier";
     
    $ftp->login("login", "pwd");
    $ftp->cwd("/monRep");
    $ftp->delete($file);
    $ftp->quit();

  3. #3
    Membre habitué Avatar de hammag
    Profil pro
    Inscrit en
    Février 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 511
    Points : 145
    Points
    145
    Par défaut
    après les corrections, le script s'exécute sans erreurs mais le fichier sur le serveur distant est non supprimé,
    - j'ai testé la connexion entre les deux serveurs avec un tcpdump : les paquets circulent normalelement entre les deux serveurs.
    - le répertoire où se trouve le fichier à supprimer sur le serveur distant est le bon.

    je ne sais pas ou est le pb

  4. #4
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    fais des tests

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/usr/bin/perl
    use strict; 
    use warnings;
    use Net::FTP;
     
    my $ftp = Net::FTP->new("mon@ip") ;
    my $file = "ton_fichier";
    my $rep = "/monRep";
    $ftp->login("login", "pwd") or die ("Impossible de se logguer $!");
    $ftp->cwd($rep) or die ("Impossible de changer de repertoire  $rep $!");
    $ftp->delete($file) or die ("Impossible de supprimer $file $!");
    $ftp->quit();

  5. #5
    Membre habitué Avatar de hammag
    Profil pro
    Inscrit en
    Février 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 511
    Points : 145
    Points
    145
    Par défaut
    en faite je vient de connaitre la raison du non suppression du fichier : la connexion ftp est faite avec un utilisateur non root qui n'a pas les droits de suppression sur le serveur disatnt.
    j'ai essayé le même script avec un utilisateur root, le résultat est OK

    reste une chose :
    comment faire pour donner à mon pauvre utilisateur le droit de supprimer ou créer des fichiers sur ce serveur distant.

  6. #6
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    bah ça ce n'est pas perl, mais l'administrateur du site distant.
    Si tu te connectes au site ftp avec un user qui n'a pas les droits d'ecriture, normal que ça ne marche pas. C'est une question de sécurité.

Discussions similaires

  1. Supprimer un fichier sur un serveur distant
    Par sebastien00 dans le forum Langage
    Réponses: 2
    Dernier message: 04/02/2010, 17h23
  2. [FTP] Impossible de supprimer mes fichiers sur FTP
    Par Invité dans le forum Langage
    Réponses: 6
    Dernier message: 24/04/2008, 09h16
  3. Comment supprimer un fichier sur un serveur
    Par visqueu dans le forum Langage
    Réponses: 1
    Dernier message: 02/04/2007, 02h47
  4. Réponses: 5
    Dernier message: 12/06/2006, 08h05
  5. est-il possible de supprimer un fichier sur le serveur ?
    Par NoobX dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/10/2005, 14h54

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