summaryrefslogtreecommitdiff
path: root/gnu/usr.bin/perl/eg/myrup
blob: 5db1213fab036ae47eb20602d6f2f3ba9a300503 (plain)
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
#!/usr/bin/perl

# $RCSfile: myrup,v $$Revision: 1.3 $$Date: 1999/04/29 22:51:18 $

# This was a customization of ruptime requested by someone here who wanted
# to be able to find the least loaded machine easily.  It uses the
# /etc/ghosts file that's defined for gsh and gcp to prune down the
# number of entries to those hosts we have administrative control over.

print "node    load (u)\n------- --------\n";

open(ghosts,'/etc/ghosts') || die "Can't open /etc/ghosts: $!";
line: while (<ghosts>) {
    next line if /^#/;
    next line if /^$/;
    next line if /=/;
    ($host) = split;
    $wanted{$host} = 1;
}

open(ruptime,'ruptime|') || die "Can't run ruptime: $!";
open(sort,'|sort +1n');

while (<ruptime>) {
    ($host,$upness,$foo,$users,$foo,$foo,$load) = split(/[\s,]+/);
    if ($wanted{$host} && $upness eq 'up') {
	printf sort "%s\t%s (%d)\n", $host, $load, $users;
    }
}