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

Programmation et administration système Perl Discussion :

commande nohup ne fonctionne pas


Sujet :

Programmation et administration système Perl

  1. #1
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut commande nohup ne fonctionne pas
    Bonjour,

    J'essaye d'utiliser la commande nohup afin d'envoyer une newsletter en utilisant un script perl mais j'ai cette erreur :
    les entrées sont ignorés et la sortie est ajoutée à nohup.out

    La commande que j'utilise ressemble à ça :
    nohup perl monscript.pl .....

    Pouvez-vous me dire d'où vient le problème?
    Merci

  2. #2
    Membre éprouvé
    Avatar de matrix788
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    740
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 740
    Points : 1 056
    Points
    1 056
    Billets dans le blog
    2
    Par défaut
    salut,

    aucun problème, tu peux consulter le résultat de ta commande lancée en background dans le fichier nohup.out.

    n'oubliez pas de cliquer sur résolu...

    == pas de question technique en MP. Merci ==

  3. #3
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut
    Voici ce qui se trouve dans mon fichier nohup.out
    Je ne comprends pas ce qui pose problème en fait..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    can't locate MIME/Lite.pm in @INC (@INC contains : /etc/perl /usr/local/lib/perl$ BEGIN failed--compilation aborted at monscript.pl line 3
    Le début de mon script est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #!/usr/bin/perl -w
     
    use MIME::Lite;
     
    #DO NOT TOUCH
    Merci de votre aide

  4. #4
    Membre éprouvé
    Avatar de matrix788
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    740
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 740
    Points : 1 056
    Points
    1 056
    Billets dans le blog
    2
    Par défaut
    Ca n'a rien à voir avec la commande nohup...

    Il vous faut télécharger la source MIME:Lite sur cpan, et le compiler.

    pour tester son fonctionnement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    perl -w
     
    use MIME::Lite
    ;
    n'oubliez pas de cliquer sur résolu...

    == pas de question technique en MP. Merci ==

  5. #5
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut Installer Mime Lite
    Bonsoir,

    J'ai crée un script permettant d'envoyer des mails avec des pièces joints. Cependant mon mail ne part pas parce que j'ai un souci de Mime::Lite.

    J'ai ce message d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Can't locate object method "new" via package "MIME::Lite" (perhaps you forgot to load "MIME::Lite"?) at mynews.pl line 75.
    Par contre j'ai bien installé Mime:Lite. Pouvez-vous me donner les étapes pour l'installer correctement..
    J'ai installé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    perl Makefile.PL
    make
    make test
    make install
    mais mon script ne fonctionne toujours. Merci d'avance pour votre aide

  6. #6
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut Comment installer Mime::Lite
    Je reviens vers vous avec plus d'informations. j'ai installé Mime Lite en suivant plusieurs tuto sur internet mais mon script rencontre toujours le même problème..
    Voici ce que j'ai suivi

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.livejournal.com/doc/server/lj.install.perl_setup.modules.html
    Et ensuite j'ai refait un retour arrière avec mon screenshot et j'ai installé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    tar xzvf MIME-Lite-xxx.tar.gz
    cd MIME-Lite-xxx
    perl Makefile.PL
    make
    make test
    make install
    Quand j'éxécute mon script, j'ai toujours l'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    les entrées sont ignorés et la sortie est ajoutée à nohup.out
    Et dans le fichier nohup.out, j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Can't locate object method "new" via package "MIME::Lite" (perhaps you forgot to load "MIME::Lite"?) at mynews.pl line 75.
    Merci d'avance de votre aide

  7. #7
    Membre éprouvé
    Avatar de matrix788
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    740
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 740
    Points : 1 056
    Points
    1 056
    Billets dans le blog
    2
    Par défaut
    on peut avoir le contenu du script mynews.pl, ou du moins aux alentours de la ligne 75 ?
    n'oubliez pas de cliquer sur résolu...

    == pas de question technique en MP. Merci ==

  8. #8
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut
    Voici le contenu du script :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    #!/usr/bin/perl -w
     
    use MIME::Lite;
     
    #DO NOT TOUCH
    my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
    $year=$year+1900;
    $mon=$mon+1;
    my $DATE=sprintf "%.4d-%.2d-%.2d",$year,$mon,$mday;
     
    #A CONFIGURER
    #
    my $CSVFILE=$ARGV[0];
    my $MSGFILE=$ARGV[1];
     
    my $BOUNCED_FROM="adresse\@domaine.fr";
    my $FROM="=?blablabla?= <welcome\@newsletter.test.envoi>";
    my $SUBJECT="Mettre sujet!";
     
    my $BADLOGFILE="destinataires.log.bad";
    my $GOODLOGFILE="destinataires.log.good";
     
    open(BADLOGFILE,">>$BADLOGFILE");
    open(GOODLOGFILE,">>$GOODLOGFILE");
    # my $mode = 0777;
    # chmod oct($mode), '$BADLOGFILE';
     
    #PARSE LES DATA DU CSV
    my %data;
    $i=0;$j=0;
    open(FILEIN,$CSVFILE);
    while(my $line=<FILEIN>) {
        chomp $line;
        @tmp=split(/\:\:/,$line);
        foreach $t (@tmp) {
    	$data[$i][$j]=$t;
    	$j++;
        }
        $j=0;
        $i++;
    }
    $myCount=$i;
    close(FILEIN);
     
    # print $data[lignes][colonnes]
     
    #LIRE LE FICHIER MESSAGE
    my $message;
    open(FILEIN,$MSGFILE);
    while($line=<FILEIN>) {
        $message.=$line;
    }
    close(FILEIN);
     
    #print "\U$data[0][0]\E";
     
    $i=0;
    my $firstname;
    my $email;
     
     
    while($i<$myCount) {
     
        $email=$data[$i][0];
        if($email =~ /[0-9a-zA-Z_]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,4}/) {
    	chomp($email); 
        	#Substitute.
        	$content_message = $message;
    	$content_message =~ s/XXX_EMAIL/$email/g;
    	$content_message =~ s/XXX_email/$email/g;
    	#print $message;
    	### Create a new multipart message:
        	$msg = MIME::Lite->new( 
    				    From    =>$FROM,
    				    To      =>$email,
    				    Subject =>$SUBJECT,
    			   	    Type    =>'multipart/alternative'
    			       );
     
        	# $msg->add("Errors-To" => $BOUNCED_FROM);
        	# $msg->add("Envelope-From" => $BOUNCED_FROM);
     
     
    	### Add parts (each "attach" has same arguments as "new"):
        	$msg->attach(
    			 Type     =>'text/html',
    			 Data     => $content_message
    	     	    );
     
        	$msg->send;
    	print GOODLOGFILE "$email\n";
       }
       else { 
    	print BADLOGFILE "$email\n";
       }
       $i++;
    }
    close(GOODLOGFILE);
    close(BADLOGFILE);

  9. #9
    Membre éprouvé
    Avatar de matrix788
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    740
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 740
    Points : 1 056
    Points
    1 056
    Billets dans le blog
    2
    Par défaut
    Je redirige la discussion dans le forum Perl.
    n'oubliez pas de cliquer sur résolu...

    == pas de question technique en MP. Merci ==

  10. #10
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Tu as le même soucis en lançant le script sans nohup ?

    Que dit la commande ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    perl -MMIME::Lite -e '1'
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  11. #11
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut
    Voici ce que j'obtiens à la commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #perl -MIME::Lite -e '1'
    Can't locate IME/Lite.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.10.1 /usr/local/share/perl/5.10.1 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.10 /usr/share/perl/5.10 /usr/local/lib/site_perl .).
    BEGIN failed--compilation aborted.
    Sans le nohup, mon mail part mais par contre je n'ai toujours pas mes images affichées dans mon mail.. j'ai des carrés à la place

  12. #12
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Pour le test demandé, vous avez mal recopié ma commande.
    Cela dit, inutile de retourner le résultat, le fait que le module soit trouvé lorsque vous lancez la commande sans nohup montre que c'est plutôt l'environnement dans lequel perl est lancé qui diffère. La commande nohup est lancée par un job cron ?
    C'est comme si l'utilisateur lançant le nohup ne "voyait" pas une installation du module MIME::Lite.
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  13. #13
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut
    La commande nohup est lancé uniquement quand j'ai besoin d'exécuter le script.
    Je suis toujours loguer avec le user root

    Il n'y a aucun cron qui lance le script automatiquement

  14. #14
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Dans ce cas, que donne la commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nohup perl -MMIME::Lite -e '1'
    (sans vous tromper en recopiant cette fois )
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  15. #15
    Mr6
    Mr6 est déconnecté
    Membre éclairé

    Homme Profil pro
    Inscrit en
    Septembre 2004
    Messages
    607
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2004
    Messages : 607
    Points : 794
    Points
    794
    Par défaut
    Salut !

    Please use strict, it's your friend

    @+
    Mr6

  16. #16
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut
    Tu peux m'en dire un peu plus sur Il suffit de le rajouter dans le script? Quelle est sa fonction exactement?

  17. #17
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    use strict est un pragma de "compilation", qui intègre des règles strictes sur la syntaxe de perl (notamment la pré-définition des variables avant leur usage).

    C'est une aide pour diagnostiquer certains problèmes, dont le tien, mais aussi une ligne de conduite pour la programmation perl qui est fortement recommandée.
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  18. #18
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut
    Voici ce que j'ai obtenu en rajoutant use strict;
    J'ai essayé dans nohup et avec.
    Dans les 2 cas, j'obtiens les mêmes erreurs soit :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    Global symbol "$i" requires explicit package name at mynews.pl line 30.
    Global symbol "$j" requires explicit package name at mynews.pl line 30.
    Global symbol "@tmp" requires explicit package name at mynews.pl line 34.
    Global symbol "$t" requires explicit package name at mynews.pl line 35.
    Global symbol "@tmp" requires explicit package name at mynews.pl line 35.
    Global symbol "@data" requires explicit package name at mynews.pl line 36.
    Global symbol "$i" requires explicit package name at mynews.pl line 36.
    Global symbol "$j" requires explicit package name at mynews.pl line 36.
    Global symbol "$t" requires explicit package name at mynews.pl line 36.
    Global symbol "$j" requires explicit package name at mynews.pl line 37.
    Global symbol "$j" requires explicit package name at mynews.pl line 39.
    Global symbol "$i" requires explicit package name at mynews.pl line 40.
    Global symbol "$myCount" requires explicit package name at mynews.pl line 42.
    Global symbol "$i" requires explicit package name at mynews.pl line 42.
    Global symbol "$line" requires explicit package name at mynews.pl line 50.
    Global symbol "$line" requires explicit package name at mynews.pl line 51.
    Global symbol "$i" requires explicit package name at mynews.pl line 57.
    Global symbol "$i" requires explicit package name at mynews.pl line 61.
    Global symbol "$myCount" requires explicit package name at mynews.pl line 61.
    Global symbol "@data" requires explicit package name at mynews.pl line 63.
    Global symbol "$i" requires explicit package name at mynews.pl line 63.
    Global symbol "@data" requires explicit package name at mynews.pl line 64.
    Global symbol "$i" requires explicit package name at mynews.pl line 64.
    Global symbol "$content_message" requires explicit package name at mynews.pl line 68.
    Global symbol "$content_message" requires explicit package name at mynews.pl line 69.
    Global symbol "$content_message" requires explicit package name at mynews.pl line 70.
    Global symbol "$content_message" requires explicit package name at mynews.pl line 71.
    Global symbol "$content_message" requires explicit package name at mynews.pl line 72.
    Global symbol "$msg" requires explicit package name at mynews.pl line 76.
    Global symbol "$msg" requires explicit package name at mynews.pl line 83.
    Global symbol "$msg" requires explicit package name at mynews.pl line 84.
    Global symbol "$msg" requires explicit package name at mynews.pl line 88.
    Global symbol "$content_message" requires explicit package name at mynews.pl line 91.
    Global symbol "$msg" requires explicit package name at mynews.pl line 93.
    Global symbol "$i" requires explicit package name at mynews.pl line 99.
    Execution of mynews.pl aborted due to compilation errors.
    Que puis-je faire? Merci de votre aide

  19. #19
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Je m'en serais douté.
    Comme rien dans toutes ces erreurs ne semble correspondre à ton problème de module, j'aurais tendance à te conseiller, pour te débloquer, à retirer use strict (et à l'ajouter plus tard, en corrigeant une à une).

    En revanche, tu n'as pas répondu à mon message du 18/10/2010 18h07
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  20. #20
    Membre régulier
    Inscrit en
    Septembre 2008
    Messages
    221
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 221
    Points : 104
    Points
    104
    Par défaut
    Voici ce que donne la commande
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nohup perl -MMIME::Lite -e '1'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nohup : les entrées sont ignorés et la sortie est ajoutée à nohup.out
    Et dans nohup.out j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    execution of mynews.pl aborded due to compilation errors.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [WD10] Commande InternetConnecté() ne fonctionne pas
    Par Père Mich dans le forum WinDev
    Réponses: 3
    Dernier message: 14/08/2009, 18h38
  2. [la commande ppm ne fonctionne pas ? ]
    Par modesty12 dans le forum Alimentation
    Réponses: 1
    Dernier message: 31/05/2007, 16h35
  3. [WB9] Une commande Webdev ne fonctionne pas
    Par Tina51 dans le forum WebDev
    Réponses: 4
    Dernier message: 16/03/2007, 22h24
  4. Boutons de commande qui ne fonctionnent pas
    Par Shakti dans le forum IHM
    Réponses: 4
    Dernier message: 24/11/2006, 16h29
  5. La commande cd ne fonctionne pas
    Par keiserjo dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 06/10/2006, 22h53

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