/[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

Diff of /parse_df.pl

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by dpavlin, Thu Jul 18 10:23:24 2002 UTC revision 1.11 by dpavlin, Tue May 13 16:00:53 2003 UTC
# Line 5  Line 5 
5  # filesystems in same order always)  # filesystems in same order always)
6  #  #
7  # Dobrica Pavlinusic <dpavlin@rot13.org>  # Dobrica Pavlinusic <dpavlin@rot13.org>
8    # https://www.rot13.org/~dpavlin/sysadm.html
9  #  #
10  # Usage:  # Usage:
11  #  #
12  #       parse_df.pl "ssh -i ~cricket/.ssh/df host.dom" /mount_point  #       parse_df.pl "ssh -i ~cricket/.ssh/df target.host" /mount_point
13  #               ssh into remote host and get data for /mount_point  #               ssh into remote host and get data for /mount_point
14  #  #
15  #       parse_df.pl "ssh -i ~cricket/.ssh/df --config"  #       parse_df.pl "ssh -i ~cricket/.ssh/df target.host" --config
16  #               dump configuration file to stdout  #               dump configuration file to stdout
17  #  #
18    
# Line 38  sub parse_df { Line 39  sub parse_df {
39                  return if (defined $df);                  return if (defined $df);
40                  print STDERR " [cache miss] ";                  print STDERR " [cache miss] ";
41          }          }
42          open(DF,"$ssh df -klP |") || die "$ssh df: $!";          eval {
43                    local $SIG{ALRM} = sub { die "ssh timeout\n"; };
44                    alarm 10;       # wait for ssh to connect and return first line
45                    open(DF,"$ssh df -klP |") || die "$ssh df: $!";
46            };
47            print STDERR " read DF eof=",eof(DF);
48          while(<DF>) {          while(<DF>) {
49                  chomp;                  chomp;
50                  my ($node,$total,$used,$aval,$use_pcnt,$mount) = split(/\s+/,$_,6);                  my ($node,$total,$used,$aval,$use_pcnt,$mount) = split(/\s+/,$_,6);
# Line 50  sub parse_df { Line 56  sub parse_df {
56                  }                  }
57          }          }
58          close(DF);          close(DF);
59            alarm 0;        # turn alarm off
60          $cache->set( $ssh, $df, "1 min" ) if ($USE_CACHE);          $cache->set( $ssh, $df, "1 min" ) if ($USE_CACHE);
61  }  }
62    

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.26