bonjour a tous!
j'ai besoin d'aide.
je dois ecrire un script qui enverra des mails d'alerte sous nagios/opsview. sans rentrer dans le detail du pourquoi/comment.
sans la moindre connaissance en perl, par comparaison/test/reflexion/logique, je suis arrive a un script qui a fonctionne mais dont les variables etaient inexactes.
j'ai modifie le bousin et ai essaye de le rendre plus "logique" en contractant les "if-then" recurrants.
depuis, des que je le teste, je recois une erreur de syntaxe ligne 27
le site qui m'indique quoi faire me dit de rajouter des parentheses quelques lignes plus haut, mais la, c'est un autre message d'erreur que je recois...
http://docs.opsview.org/doku.php?i [...] ionmethods
pouvez vous m'aider?
merci!
Code :
- #!/usr/bin/perl -w
- #
- #
- # SYNTAX:
- my $usage = qq{
- mail_custom
- Usage: mail_custom
- };
- use strict;
- use Switch;
- use lib "/usr/local/nagios/perl/lib";
- my $text;
- my $sub;
- my $mail;
- $mail = $ENV{NAGIOS_CONTACTEMAIL}
- if $ENV{NAGIOS_SERVICEDESC} {
- $text = "$ENV{NAGIOS_SERVICEDESC} on $ENV{NAGIOS_HOSTNAME} is $ENV{NAGIOS_SERVICESTATE}: $ENV{NAGIOS_SERVICEOUTPUT} ($ENV{NAGIOS_SHORTDATETIME})";
- $sub = "$ENV{NAGIOS_SERVICEDESC} on $ENV{NAGIOS_HOSTNAME} is $ENV{NAGIOS_SERVICESTATE}";
- system('/usr/bin/printf "%b" $text | /usr/bin/Mail -s $sub $mail')
- } else {
- $text = "$ENV{NAGIOS_HOSTNAME} is $ENV{NAGIOS_HOSTSTATE}: $ENV{NAGIOS_HOSTOUTPUT} ($ENV{NAGIOS_SHORTDATETIME})";
- $sub = "$ENV{NAGIOS_HOSTNAME} is $ENV{NAGIOS_HOSTSTATE}";
- system('/usr/bin/printf "%b" $text | /usr/bin/Mail -s $sub $mail')
- }
- exit;
|
Message édité par mickael de psagot le 28-01-2009 à 16:36:53