Beispielhalfter Ablauf:
- Öffne die Datei lesend
- lese zeilenweise
- - überspringe Zeilen, die nicht die gewünschte DB betreffen
- - vergleiche die gewünschten Spaltenwerte mit den gesetzten Limits
- - - gebe Info aus, wenn Limits überschritten werden
- schließe Datei
Hier ein ungetesteter Schnellschuß aus der Mittagspause:
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
use strict;
use warnings;
my $filename = "sqldaten.txt";
my $wanted_db = "XX1";
my $free_space_threshold = 12;
my $db_full_percent_threshold = 90;
open my $rh, '<', $filename or die "Error: open($filename) failed: $!";
while ( my $line = <$rh> ) {
my ( $dbname, $free_space, $db_full_percent ) = ( split m{\s+}, $line )[0,2,3];
next if $dbname ne $wanted_db;
if ( $free_space < $free_space_threshold ) {
printf "%s running out of space: %s MB left\n", $dbname, $free_space;
}
if ( $db_full_percent > $db_full_percent_threshold ) {
printf "%s running full: %s %% filled.\n", $dbname, $db_full_percent;
}
}
close $rh;
PS: Beachte Raubtiers Hinweise bezüglich des Leerzeichens am Zeilenanfang. Ggfs. sind die Indizes der Spalten anzupassen.
Last edited: 2015-10-29 12:58:43 +0100 (CET)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!