[Perl] rendre le script exécutable
pianoclassique
Messages postés
109
Date d'inscription
Statut
Membre
Dernière intervention
-
pianoclassique Messages postés 109 Date d'inscription Statut Membre Dernière intervention -
pianoclassique Messages postés 109 Date d'inscription Statut Membre Dernière intervention -
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;
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;
A voir également:
- Rendre un script executable
- Script vidéo youtube - Guide
- Comment rendre un fichier moins lourd - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Comment nettoyer son mac pour le rendre plus rapide - Guide
5 réponses
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
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
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.
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.
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
pas besoin de poster en double
mets sur https://www.cjoint.com/ le fichier /var/www/mrtg/localhost_2.log
je vais regarder demain
le lien sur le fichier localhost_2.log est : https://www.cjoint.com/?fAaghSrWE1
Merci .................. BN
Merci .................. BN
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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