Fri, 03 Aug 2012 15:56:30 +0200
Use upstream man pages to avoid local help2man failures, likely due to
shell capability assumptions or cross platform environment variance.
The upstream man pages are probably better formatted anyway.
michael@176 | 1 | #! @l_prefix@/bin/perl |
michael@135 | 2 | ## |
michael@135 | 3 | ## webstats.pl: return HTTP server hits and bytes |
michael@135 | 4 | ## |
michael@135 | 5 | ## Configure Apache HTTP server like so: |
michael@135 | 6 | ## <Location /server-status> |
michael@135 | 7 | ## SetHandler server-status |
michael@135 | 8 | ## Order allow,deny |
michael@135 | 9 | ## Allow from localhost |
michael@135 | 10 | ## </Location> |
michael@135 | 11 | ## ExtendedStatus On |
michael@135 | 12 | ## |
michael@135 | 13 | |
michael@135 | 14 | @res = `@l_prefix@/bin/lynx -dump http://localhost/server-status`; |
michael@135 | 15 | |
michael@135 | 16 | foreach $res (@res) { |
michael@135 | 17 | if ($res =~ /Server uptime: (.*)$/) { |
michael@135 | 18 | $up = $1;last |
michael@135 | 19 | } |
michael@176 | 20 | else { |
michael@135 | 21 | next |
michael@176 | 22 | } |
michael@135 | 23 | |
michael@135 | 24 | if ($res =~ /Server at/) { |
michael@135 | 25 | $server = $res; |
michael@135 | 26 | last |
michael@135 | 27 | } |
michael@176 | 28 | else { |
michael@135 | 29 | next |
michael@176 | 30 | } |
michael@135 | 31 | } |
michael@135 | 32 | |
michael@135 | 33 | @res = `@l_prefix@/bin/lynx -dump http://localhost/server-status?auto`; |
michael@135 | 34 | |
michael@135 | 35 | foreach $res (@res) { |
michael@135 | 36 | if ($res =~ /Total Accesses: (\d+)/) { |
michael@135 | 37 | $d1 = $1; |
michael@135 | 38 | next |
michael@135 | 39 | } |
michael@135 | 40 | |
michael@135 | 41 | if ($res =~ /Total kBytes: (\d+)/) { |
michael@135 | 42 | $d2 = $1 * 1024; |
michael@135 | 43 | next |
michael@135 | 44 | } |
michael@135 | 45 | } |
michael@135 | 46 | |
michael@135 | 47 | $d1 = int($d1); |
michael@135 | 48 | $d2 = int($d2); |
michael@135 | 49 | |
michael@135 | 50 | if ($ARGV[0] eq "hits") { |
michael@135 | 51 | print "$d1\n"; |
michael@135 | 52 | print "$d1\n"; |
michael@135 | 53 | } elsif ($ARGV[0] eq "bytes") { |
michael@135 | 54 | print "$d2\n"; |
michael@135 | 55 | print "$d2\n"; |
michael@135 | 56 | } |
michael@135 | 57 | |
michael@135 | 58 | print "$up\n"; |
michael@135 | 59 | print "$server"; |
michael@176 | 60 | print "$null\n"; |
michael@176 | 61 | print "$null\n"; |
michael@135 | 62 |