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 :

Module - Script a adapter


Sujet :

Modules Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    528
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 528
    Par défaut Module - Script a adapter
    Bonjour,

    Sur un ancien serveur Linux j'utilisais un script pour récuperer les infos d'Apache.
    Or je suis passé sous Windows 2003 serveur et mon script ne fonctionne plus ... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    C:\modules_perl>perl webstat.pl bytes
    Global symbol "$res" requires explicit package name at webstat.pl line 19.
    Global symbol "$res" requires explicit package name at webstat.pl line 20.
    Voici le 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
    #!C:\Perl\bin\perl.exe
    use strict; use warnings;
    use LWP::Simple;
     
    # depends on availability of status and extended status info from your
    # Apache webserver -- your httpd.conf needs to include something like the
    # following: (uncommented)
    #<Location /server-status>
    #    SetHandler server-status
    #    Order allow,deny
    #    Allow from localhost
    #</Location>
    #ExtendedStatus On
     
    # can return hits or bytes (counters)
    my $output = shift;
     
    my @status = split/\n/, get('http://localhost:80/server-status');
     
     
    my ($uptime, $server);
     
    STATUSLOOP :
    for my $line (@status) {
      if ($line =~ m/Server uptime: (.*)$/) { $uptime = $1; last STATUSLOOP }
      elsif ($line =~ m/Server at/) { $server = $line; last STATUSLOOP }
    }
     
    @status = split /\n/, get('http://localhost:80/server-status?auto');
     
    my ($access_count, $bytes_sent);
     
    for my $line (@status) {
      if ($line =~ m/Total Accesses: (\d+)/) { $access_count = $1 }
      elsif ($line =~ m/Total kBytes: (\d+)/) { $bytes_sent = $1 * 1024 }
    }
     
     
    if ($output eq "hits") {
      print "$access_count\n" for (1..2);
    }
    elsif ($output eq "bytes") {
      print "$bytes_sent\n" for (1..2);
    }
    else { 
    print "$uptime\n";
    print "$server";
    } 
    __END__
    Je pense que c'est le 'get' qui pose un problème (?)
    Quelqu'un pourrait il me dire si ce script pourrait s'adapter pour Windows ?
    Sachant que c'est un langage que n'ai absolument jamais pratiqué ...

    Merci d'avance

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2009
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 25
    Par défaut
    Bonjour,
    Le script que tu utilise n'est peur être pas celui qui est inséré
    le script que vous utilisez ressemble à celui ci

    http://www.linux-sottises.net/mrtg/webstat.pl

    Vous devez déclarer le variable $res


    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
     
    use strict; use warnings;
    use LWP::Simple;
     
    # depends on availability of status and extended status info from your
    # Apache webserver -- your httpd.conf needs to include something like the
    # following: (uncommented)
    #<Location /server-status>
    #    SetHandler server-status
    #    Order allow,deny
    #    Allow from localhost
    #</Location>
    #ExtendedStatus On
     
    # can return hits or bytes (counters)
    my $output = shift;
     
    my ($up, $server, $d1, $d2)=0;
    my @status = split/\n/, get('http://localhost:80/server-status');
     
    foreach my $res (@status) {
        if ($res =~ /Server uptime: (.*)$/) { $up = $1; last } else { next }
        if ($res =~ /Server at/) { $server = $res; last } else { next }
    }
     
    @status = split /\n/, get('http://localhost:80/server-status?auto');
     
    foreach my $res (@status) {
        if ($res =~ /Total Accesses: (\d+)/) { $d1 = $1; next }
        if ($res =~ /Total kBytes: (\d+)/) { $d2 = $1 * 1024; next }
    }
     
    if(defined($d1)){
    	$d1 = int($d1);
    	$d2 = int($d2);
    }
    if ($output eq "hits") {
    	if(defined($d1)){
    		print "$d1\n";
    	    print "$d1\n";
    	}
    } elsif ($output eq "bytes") {
    	if(defined($d2)){
    	    print "$d2\n";
        	print "$d2\n";
    	}
    }
     
    if(defined($up)){
    	print "$up\n";
    }
    if(defined($server)){
    	print "$server";
    }
    __END__
    --
    http://vgt.fr

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    528
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 528
    Par défaut
    Bonsoir,

    Merci pour ta réponse et ta solution qui regle mon problème !
    En effet pour le script, j'en avais deux qui se ressemblaient ...

    Après le C, HTML et php il faudrait peut etre que je mette le nez dans Perl ...

    Merci encore

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

Discussions similaires

  1. Module logiciel C++ adapté au Web
    Par mister3957 dans le forum C++
    Réponses: 4
    Dernier message: 21/07/2009, 22h17
  2. Chemin Modules/ Scripts personnels
    Par duduche33 dans le forum Général Python
    Réponses: 2
    Dernier message: 03/03/2009, 18h41
  3. recherche script pour adapter mon fond d'écran
    Par viddamars dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 02/07/2007, 20h22
  4. Module ou script existant pour parser du code C++
    Par Caine dans le forum Modules
    Réponses: 4
    Dernier message: 16/02/2006, 10h42
  5. du module vers le script
    Par marsupilami dans le forum Langage
    Réponses: 7
    Dernier message: 08/10/2005, 16h02

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