|
|
1.1 root 1: cat <<'E_O_F' >/tmp/$$a
2: BEGIN {
3: printf("\n\t\t\t\tUUCP Traffic Summary\n\n")
4: printf("\t\t\t\tFor the previous 30 days\n\n")
5: printf("\t Calls Minutes Files Bytes Effective Unused\n")
6: printf("Site To/From To/From To/From Sent/Received Baudrate Bwidth\n")
7: E_O_F
8: awk '$1 !~ /#/ && $1 !~ /xxx/{print $1,$3}' /usr/lib/uucp/L.sys | sort -u |
9: sed 's/\(.*\) \(.*\)/ type["\1"] = "\2"/' >>/tmp/$$a
10: cat <<'E_O_F' >>/tmp/$$a
11: }
12: {
13: how = type[$1]
14: tcallsto[how] += $2
15: tcallsfrom[how] += $3
16: tminto[how] += $4
17: tminfrom[how] += $5
18: tfilesto[how] += $6
19: tfilesfrom[how] += $7
20: tbytesto[how] += $8
21: tbytesfrom[how] += $9
22: tbaudrate[how] += $10
23: tpercent[how] += $11
24: tfailed[how] += $12
25: tretry[how] += $13
26: tn[how]++
27: }
28: name == $1 {
29: callsto += $2
30: callsfrom += $3
31: minto += $4
32: minfrom += $5
33: filesto += $6
34: filesfrom += $7
35: bytesto += $8
36: bytesfrom += $9
37: baudrate += $10
38: percent += $11
39: failed += $12
40: retry += $13
41: n++
42: }
43: name != $1 {
44: if (NR > 1) {
45: s = name
46: if (failed > 0) {
47: s = s "[" failed
48: if (retry > 0)
49: s = s "/" retry "]"
50: else
51: s = s "]"
52: } else {
53: if (retry > 0)
54: s = s "[/" retry "]"
55: }
56: printf("%-12s %4d/%-4d %5d/%-5d %5d/%-5d %9d/%-9d %6d %5d%%\n", \
57: s, callsto, callsfrom, minto, minfrom, filesto, \
58: filesfrom, bytesto, bytesfrom, baudrate/n, percent/n)
59: }
60:
61: callsto = $2
62: callsfrom = $3
63: minto = $4
64: minfrom = $5
65: filesto = $6
66: filesfrom = $7
67: bytesto = $8
68: bytesfrom = $9
69: baudrate = $10
70: percent = $11
71: failed = $12
72: retry = $13
73: n = 1
74: name = $1
75: }
76: END {
77: printf("%-12s %4d/%-4d %5d/%-5d %5d/%-5d %9d/%-9d %6d %5d%%\n", \
78: name, callsto, callsfrom, minto, minfrom, filesto, \
79: filesfrom, bytesto, bytesfrom, baudrate/n, percent/n)
80: printf("------------ ----/---- -----/----- -----/----- ---------/--------- ------ -----\n")
81: for (i in tn) {
82:
83: s = i
84: if (tfailed[i] > 0) {
85: s = s "[" tfailed[i]
86: if (tretry[i] > 0)
87: s = s "/" tretry[i] "]"
88: else
89: s = s "]"
90: } else {
91: if (tretry[i] > 0)
92: s = s "[/" tretry[i] "]"
93: }
94: printf("%-12s %4d/%-4d %5d/%-5d %5d/%-5d %10d/%-10d %6d %3d%%\n", \
95: s, tcallsto[i], tcallsfrom[i], tminto[i], tminfrom[i], \
96: tfilesto[i], tfilesfrom[i], tbytesto[i], tbytesfrom[i], \
97: tbaudrate[i]/tn[i], tpercent[i]/tn[i])
98: totcallsto += tcallsto[i]
99: totcallsfrom += tcallsfrom[i]
100: totminto += tminto[i]
101: totminfrom += tminfrom[i]
102: totfilesto += tfilesto[i]
103: totfilesfrom += tfilesfrom[i]
104: totbytesto += tbytesto[i]
105: totbytesfrom += tbytesfrom[i]
106: totbaudrate += tbaudrate[i]
107: totpercent += tpercent[i]
108: totfailed += tfailed[i]
109: totretry += tretry[i]
110: totn += tn[i]
111: }
112: printf("%-12s %4d/%-4d %5d/%-5d %5d/%-5d %10d/%-10d %6d %3d%%\n", \
113: "Total", totcallsto, totcallsfrom, totminto, \
114: totminfrom, totfilesto, totfilesfrom, totbytesto, \
115: totbytesfrom , totbaudrate/totn, totpercen/totn)
116: }
117: E_O_F
118: for i in `grep -l 'UUCP Summary' /usr/msgs/*`
119: do
120: sed '1,/^Site/d
121: /^[ ]*$/,$d
122: s;\[/;[0/;
123: s;\[\([0-9]*\)\];[\1/0];
124: /\[/s;\([^\[]*\)\[\(.*\)/\(.*\)\]\(.*\);\1 \4 \2 \3;
125: s!/! !g
126: s/ */ /g
127: s/%//
128: ' $i
129: done | sort | awk -f /tmp/$$a
130: rm -f /tmp/$$*
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.