/[cricket]/parse_df.pl
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Annotation of /parse_df.pl

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations)
Mon Jul 15 10:13:38 2002 UTC (21 years, 8 months ago) by dpavlin
Branch: MAIN
File MIME type: text/plain
added df parser and cofigurator generator

1 dpavlin 1.1 #!/usr/bin/perl -w
2     #
3     # cricket module which creates configuration file (when called with
4     # apropriate option), re-reads configuration (so that it can report
5     # filesystems in same order always)
6     #
7     # Dobrica Pavlinusic <dpavlin@rot13.org>
8     #
9     # Usage:
10     #
11     # parse_df.pl "ssh -i ~cricket/.ssh/df host.dom" /mount_point
12     # ssh into remote host and get data for /mount_point
13     #
14     # parse_df.pl "ssh -i ~cricket/.ssh/df --config"
15     # dump configuration file to stdout
16     #
17    
18     use strict;
19    
20     my $ssh = shift @ARGV || "";
21     my $mount = shift @ARGV || "/";
22    
23     my %df;
24    
25     sub parse_df {
26     my $ssh = shift @_;
27     open(DF,"$ssh df -k |") || die "$ssh df: $!";
28     while(<DF>) {
29     chomp;
30     my ($node,$total,$used,$aval,$use_pcnt,$mount) = split(/\s+/,$_,6);
31     if ($use_pcnt && $use_pcnt =~ s/(\d+)%/$1/) {
32     print STDERR "$_\n";
33     # $df{$mount}=$use_pcnt;
34     $df{$mount}=$used * 100 / $total;
35     # print $df{$mount}," == $use_pcnt\n";
36     }
37     }
38     close(DF);
39     }
40    
41     parse_df($ssh);
42    
43     if ($mount eq "--config") {
44     print <<"EOF";
45     target --default--
46     ssh = "$ssh"
47     long-desc = "edit name of your host here"
48    
49     EOF
50     foreach my $mnt (keys %df) {
51     my $target = $mnt;
52     if ($mnt eq "/") {
53     $target = "root";
54     } else {
55     $target =~ s,^/,,;
56     }
57     print <<"EOF";
58     target $target
59     target-type = usage
60     display-name = "$mnt"
61    
62     EOF
63     }
64     exit 1;
65     }
66    
67     # dump free %
68     #
69     print $df{$mount} || "unknown";
70     print "\n";

  ViewVC Help
Powered by ViewVC 1.1.26