Schrift
[thread]10953[/thread]

Anfänger IF-Problem



<< >> 9 Einträge, 1 Seite
keeperin
 2007-12-04 17:27
#103443 #103443
User since
2007-12-04
2 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen,
ich kann leider noch kein Perl, aber habe hier ein Script was ich ein wenig verändern muss.
Für euch ist das wahrscheinlich ziemlich lächerlich *g* Aber ich hoffe ihr könnt mir helfen :-D

Also das Script funktioniert gut, jetzt soll aber folgende Änderung gemacht werden.

Mal als pseudo-Programmiersprach dargestellt ;-)

------------
teste runlevel

if runlevel == "4 3"
AUSGABE = RUNLEVEL 3
# nichts weiter machen

if runlevel = "3 4"
führe script aus

Hier noch das schript
Code: (dl )
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
#!/usr/bin/perl

use strict;
use warnings;
use Data::Dumper;
use Getopt::Long;
# use lib "/usr/lib/nagios/plugins" ;
use lib "/app/nrpe" ;
use utils qw($TIMEOUT %ERRORS );
# print "Script started\n";
my $PATH = "/app/nrpe/";
$ENV{'LD_LIBRARY_PATH'} = $PATH;

my $warn = "CRITICAL";

my(@CMD,$line,$pag,$info,$paging,$stat,$command,$status,$message);

GetOptions (
'command|m=s'=>\$command
);

my($p) = shift;

$line = ` $PATH/check_disk -w 2 -c 1 -p $p |grep 'DISK'`;

$info = "";

$stat = "";
if ( $line =~ /^DISK CRI/ ) {
$status = "CRITICAL";
}

else { $status = "OK"; }

chomp($stat);

$message = ("NFS MOUNT is $status");
print "$status - $message\n";
exit $ERRORS{$status};


EDIT: ist ein Linux System ;-) Deshalb die runlevel abfrage :-)

So dann danke schön :-)

LG Keeperin
lichtkind
 2007-12-04 20:02
#103449 #103449
User since
2004-03-22
5697 Artikel
ModeratorIn + EditorIn
[Homepage]
user image
dein problem ist das ==die werte automatisch in zahlen umwandelt, also aus "4 3" eine 4 macht. sag besser was du genau abfragen willst. der allgemeine if syntax ist

Code (perl): (dl )
1
2
3
if (hier kommt frage rein)  {
    und hier der code der ausgeführt wird wenn frage mit ja beantwortet werden kann.
}
Wiki:Tutorien in der Wiki, mein zeug:
kephra, baumhaus, garten, gezwitscher

Es beginnt immer mit einer Entscheidung.
pq
 2007-12-04 20:02
#103450 #103450
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
Code (perl): (dl )
1
2
3
4
5
6
7
chomp(my $runlevel = qx{/sbin/runlevel});
if ($runlevel eq '4 3') {
    print "RUNLEVEL 3\n";
}
elsif ($runlevel eq '3 4') {
    ...
}


edit: schliessende klammer bei chomp(); danke renee
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Gast Gast
 2007-12-05 08:41
#103456 #103456
Das Problem ist wohl auch das aktuelle Runlevel zu ermitteln....
keeperin
 2007-12-05 09:57
#103464 #103464
User since
2007-12-04
2 Artikel
BenutzerIn
[default_avatar]
Hallo :-)

Ich hab nicht gedacht das es schwer ist den Befehl abzusetzen :-/

ich hab das jetzt so :

Code: (dl )
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
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
use Getopt::Long;
# use lib "/usr/lib/nagios/plugins" ;
use lib "/app/nrpe" ;
use utils qw($TIMEOUT %ERRORS );
# print "Script started\n";
my $PATH = "/app/nrpe/";

chomp(my $runlevel = qx{/sbin/runlevel};

if ($runlevel eq '4 3') {
print "RUNLEVEL 3\n";
}

elsif ($runlevel eq '3 4') {

my $warn = "CRITICAL";

my(@CMD,$line,$pag,$info,$paging,$stat,$command,$status,$message);

GetOptions (
'command|m=s'=>\$command

);

my($p) = shift;

$line = ` $PATH/check_disk -w 2 -c 1 -p $p |grep 'DISK'`;

$info = "";

$stat = "";
if ( $line =~ /^DISK CRI/ ) {
$status = "CRITICAL";
}

else { $status = "OK"; }

chomp($stat);

$message = ("NFS MOUNT is $status");
print "$status - $message\n";
exit $ERRORS{$status};
}


Aber beim ausführen bekomme ich eine Fehlermeldung.

syntax error at ./444 line 12, near "qx{/sbin/runlevel};"
Execution of ./444 aborted due to compilation errors.

Leider kann ich die Syntax von Pearl noch nicht :-(
renee
 2007-12-05 10:13
#103467 #103467
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Die schließende Klammer von chomp vergessen!
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
renee
 2007-12-05 10:50
#103468 #103468
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
pq+2007-12-05 09:48:18--
renee+2007-12-05 09:47:14--
Die schließende Klammer von chomp vergessen!

herrjeh, ist ja gut, deshalb musst du das doch nicht gleich dreimal schreiben =)


Ich wollte es halt ausdrücklich betonen *fg*

Ich hatte einen "Inactivity Timeout" - <spaß>dabei bin ich doch gar kein Beamter</spaß>
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
pq
 2007-12-05 10:47
#103469 #103469
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
keeperin+2007-12-05 08:57:34--
Leider kann ich die Syntax von Pearl noch nicht :-(

falls du sie mal lernen willst, dann sei dir gesagt, dass die sprache Perl
heisst und nicht Pearl. nicht dass du dir noch ein falsches buch kaufst.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
pq
 2007-12-05 10:48
#103470 #103470
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
renee+2007-12-05 09:47:14--
Die schließende Klammer von chomp vergessen!

herrjeh, ist ja gut, deshalb musst du das doch nicht gleich dreimal schreiben =)
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
<< >> 9 Einträge, 1 Seite



View all threads created 2007-12-04 17:27.