[Perl] rendre le script exécutable [Fermé]

Signaler
Messages postés
108
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
19 janvier 2009
-
Messages postés
108
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
19 janvier 2009
-
Bonjour,
J’ai ce script perl pour faire la connexion au fichier /var/www/mrtg/localhost_2.log puis le script faire la recherche d’une date actuelle.
A l’exécution je veux exécuter ce script comme ca :
>> Perl nom de script.pm localhost_2 max min
Ou
>> Perl nom de script.pm localhost 2 max min
Localhost_2 ,max et min se sont des arguments ARGV[0],ARGV[1] et ARGV[2] .
Remarque : max et min se sont des conditions qu’il ne faut pas les dépasser. Le 2 est le numéro de port , localhost_2.log est le fichier log de mrtg.

Donc je veux quelques modifications ou correction sur ce script pour qu’il devienne exécutable.
Voila le script :

voila le script:
----------------------------------------------------------
#!/usr/bin/perl -w

package mariem;
use Time::Local;
&connection();
&recherche();
#my @line;
sub connection(){

my $adr=$ARGV[0]._2;
open ("file","/var/www/mrtg/$adr.log")|| die ("impossible d'accéder a mrtg.log\n");
}

sub recherché{

#my $line;
my $test=timegm(localtime);
# print"test\n";
# my $test=1210839900 ;
#$line=644 a$test=1208439900;
#1206828000 temp ou le $line=0;
while ( $line = <file> ){
chomp ($line);
@line = split( / /, $line);
next unless defined $line[0];
if ($line[0] ==$test ){
if ($line[4]==0) {
return 0;
print STDOUT "erreur time\n";
}
elsif ($line[4] < $ARGV[1] && $line[2] > $ARGV[2])
{
return 1;
print STDOUT "val exist\n";
}
else{
print STDOUT "val n'est pas dans lintervl\n";
}
}
}
}
1;

5 réponses

Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 543
Salut,


Donc je veux quelques modifications ou correction sur ce script pour qu’il devienne exécutable.

Bon, la prochaine fois tu diras, j'aimerais faire quelques modifications ....?!

Ton script tu peux l'exécuter de la manière

perl script argument1 argument2
sans le rendre exécutable
sinon regarde ici Exécuter un script
Messages postés
108
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
19 janvier 2009
4
salut ;

Désolé pour mes fautes de langue car je ne maitrise bien le francais.


je fait:

perl script.pm localhost 200 100 et perl script.pm localhost_2 200 et je n'obtient aucune résultat.
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 543
Salut,

pas besoin de poster en double
mets sur https://www.cjoint.com/ le fichier /var/www/mrtg/localhost_2.log

je vais regarder demain

Messages postés
108
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
19 janvier 2009
4
le lien sur le fichier localhost_2.log est : https://www.cjoint.com/?fAaghSrWE1


Merci .................. BN
Messages postés
108
Date d'inscription
jeudi 10 avril 2008
Statut
Membre
Dernière intervention
19 janvier 2009
4
salut ,
je ne sais pas si tu vois la forme de fichier ou non en tout cas voilà:
la forme de fichier localhost_2.log est :
---------------

1211624102 2042932 238472
1211624102 3429 516 3429 516
1211623801 2725 262 2725 262
1211623800 34389 32027 4752469 4765100
1211623500 4752469 4765100 4752469 4765100
1211623200 4752469 4765100 4752469 4765100
1211622900 4736629 4749216 4752469 4765100
1211622600 594 26 2534 294
1211622300 2560 297 10504 1216
1211622000 10439 1208 10504 1216
1211621700 843 96 845 97
1211621400 398 3 399 4
1211621100 346 3 468 4
1211620800 468 3 535 12
1211620500 534 11 535 12
1211620200 413 7 414 8
1211619900 243 2 432 2
1211619600 431 2 432 3
1211619300 410 2 474 3
1211619000 473 2 474 4
1211618700 381 4 382 4
1211618400 287 4 367 8
1211618100 388 11 6902 1119
1211617800 6898 1118 6902 1119
1211617500 5972 823 5985 1017
1211617200 4090 1006 4132 1017
1211616900 0 0 0 0
1211616600 0 0 0 0
1211616300 0 0 0 0
1211616000 0 0 0 0