finger-mrtg.pl
上传用户:shbosideng
上传日期:2013-05-04
资源大小:1555k
文件大小:1k
源码类别:

SNMP编程

开发平台:

C/C++

  1. #!/usr/bin/perl5
  2. #
  3. # finger-mrtg.pl -
  4. #
  5. # executes "finger @hostname" (hostname is the argument passed into
  6. # the script) and counts how many logins there currently are on that 
  7. # machine.
  8. #
  9. # if machine is 'localhost', we just execute 'finger' instead, w/ no 
  10. # arguments.
  11. #
  12. # example Target line:
  13. #
  14. # Target[shellbox1]: `/path/to/finger-mrtg.pl shellbox1.mydomain.com`
  15. #
  16. #
  17. # -joey miller, inficad communications, llc.
  18. #  <joeym@inficad.com>
  19. if ( ! $ARGV[0] ) { exit; }
  20. # output:
  21. #
  22. # [user1.inficad.com]
  23. # Login    Name                 Tty   Idle  Login Time   Office     Office Phone
  24. # username blah blah            *pd     43  Feb  3 16:55
  25. # hello    lada lada             pa   5:16  Feb  3 15:21
  26. if ( $ARGV[0] =~ /localhost/ ) {
  27.     open(FINGER, "/usr/bin/finger |") || exit;
  28. } else {
  29.     open(FINGER, "/usr/bin/finger @$ARGV[0] |") || exit;
  30. }
  31. while (<FINGER>) {
  32.   if ( /^[.*]/ ) { next; }
  33.   if ( /^Login/ ) { next; }
  34.   $count++;
  35. }
  36. print "$countn";
  37. print "$countn";
  38. print "0n";
  39. print "$ARGV[0]n";