Blame


1 81573e49 2007-04-24 devnull # possible cron job:
2 81573e49 2007-04-24 devnull #
3 81573e49 2007-04-24 devnull # cd /cfg/backup
4 81573e49 2007-04-24 devnull # { for(i in 'E0 E1' 'E2 E3' 'E4 E5' 'E6 E7' 'F0 F1' 'F2 F3' 'F4 F5'){
5 81573e49 2007-04-24 devnull # x=`{echo $i}
6 81573e49 2007-04-24 devnull # venti/mirrorarenas -v /dev/sd$x(1)^/arenas /dev/sd$x(2)^/arenas
7 81573e49 2007-04-24 devnull # } } >www/mirror1.txt >[2=1]
8 81573e49 2007-04-24 devnull # mv www/mirror1.txt www/mirror.txt
9 81573e49 2007-04-24 devnull # awk -f mirror-log.awk www/mirror.txt >www/mirror.html
10 81573e49 2007-04-24 devnull
11 81573e49 2007-04-24 devnull BEGIN {
12 81573e49 2007-04-24 devnull print "<html><body><h1>mirror status</h1>"
13 81573e49 2007-04-24 devnull print "details in <a href=mirror.txt>mirror.txt</a><br><br>"
14 81573e49 2007-04-24 devnull print "<hr><table cellpadding=5 cellspacing=0 border=0>"
15 81573e49 2007-04-24 devnull laststatus = ""
16 81573e49 2007-04-24 devnull firstarena = ""
17 81573e49 2007-04-24 devnull lastarena = ""
18 81573e49 2007-04-24 devnull status = ""
19 81573e49 2007-04-24 devnull arena = ""
20 81573e49 2007-04-24 devnull
21 81573e49 2007-04-24 devnull }
22 81573e49 2007-04-24 devnull
23 81573e49 2007-04-24 devnull function fmt( color) {
24 81573e49 2007-04-24 devnull nfmt++
25 81573e49 2007-04-24 devnull if(nfmt%2 == 0)
26 81573e49 2007-04-24 devnull color = "#cccccc"
27 81573e49 2007-04-24 devnull else
28 81573e49 2007-04-24 devnull color = "#ffffff"
29 81573e49 2007-04-24 devnull return "<tr bgcolor=" color "><td valign=top>%s</td><td valign=top>%s</td><td>%s</td><td>%s</td><td>"
30 81573e49 2007-04-24 devnull }
31 81573e49 2007-04-24 devnull
32 81573e49 2007-04-24 devnull
33 81573e49 2007-04-24 devnull function finish() {
34 81573e49 2007-04-24 devnull if(!arena && !status)
35 81573e49 2007-04-24 devnull return
36 81573e49 2007-04-24 devnull if(info == "" && laststatus == status){
37 81573e49 2007-04-24 devnull lastarena = arena
38 81573e49 2007-04-24 devnull return
39 81573e49 2007-04-24 devnull }
40 81573e49 2007-04-24 devnull if(firstarena != ""){
41 81573e49 2007-04-24 devnull if(firstarena == lastarena)
42 81573e49 2007-04-24 devnull printf(fmt(), time, firstarena, "", "");
43 81573e49 2007-04-24 devnull else
44 81573e49 2007-04-24 devnull printf(fmt(), time, firstarena, "-", lastarena);
45 81573e49 2007-04-24 devnull print laststatus "</td></tr>"
46 81573e49 2007-04-24 devnull firstarena = ""
47 81573e49 2007-04-24 devnull lastarena = ""
48 81573e49 2007-04-24 devnull laststatus = ""
49 81573e49 2007-04-24 devnull }
50 81573e49 2007-04-24 devnull if(info == ""){
51 81573e49 2007-04-24 devnull firstarena = arena
52 81573e49 2007-04-24 devnull laststatus = status
53 81573e49 2007-04-24 devnull lastarena = arena
54 81573e49 2007-04-24 devnull return
55 81573e49 2007-04-24 devnull }
56 81573e49 2007-04-24 devnull printf(fmt(), time, arena, "", "");
57 81573e49 2007-04-24 devnull print status
58 81573e49 2007-04-24 devnull if(info != ""){
59 81573e49 2007-04-24 devnull print "<pre>"
60 81573e49 2007-04-24 devnull printf("%s", info)
61 81573e49 2007-04-24 devnull print "</pre>"
62 81573e49 2007-04-24 devnull }
63 81573e49 2007-04-24 devnull print "</td>"
64 81573e49 2007-04-24 devnull }
65 81573e49 2007-04-24 devnull
66 81573e49 2007-04-24 devnull $3 !~ /:$/ && $4 ~ /^\(.*-.*\)$/ {
67 81573e49 2007-04-24 devnull finish();
68 81573e49 2007-04-24 devnull arena = $3
69 81573e49 2007-04-24 devnull range = $4
70 81573e49 2007-04-24 devnull status = ""
71 81573e49 2007-04-24 devnull info = ""
72 81573e49 2007-04-24 devnull size = 0
73 81573e49 2007-04-24 devnull time = $1 " " $2
74 81573e49 2007-04-24 devnull next
75 81573e49 2007-04-24 devnull }
76 81573e49 2007-04-24 devnull
77 81573e49 2007-04-24 devnull $3 ~ /:$/ && $0 ~ /^....\/.... ..:..:.. [^ ]/ {
78 81573e49 2007-04-24 devnull if($4 == "0" && $5 == "used" && $6 == "mirrored"){
79 81573e49 2007-04-24 devnull status = "empty"
80 81573e49 2007-04-24 devnull next
81 81573e49 2007-04-24 devnull }
82 81573e49 2007-04-24 devnull if($4 ~ /^[0-9,]+$/ && $5 == "used" && $6 == "mirrored"){
83 81573e49 2007-04-24 devnull size = $4
84 81573e49 2007-04-24 devnull status = "partial " size ", mirrored"
85 81573e49 2007-04-24 devnull next
86 81573e49 2007-04-24 devnull }
87 81573e49 2007-04-24 devnull if($4 ~ /^[0-9a-f]+$/ && length($4) == 40 && $5 == "sealed" && $6 == "mirrored"){
88 81573e49 2007-04-24 devnull status = "sealed, mirrored";
89 81573e49 2007-04-24 devnull next
90 81573e49 2007-04-24 devnull }
91 81573e49 2007-04-24 devnull }
92 81573e49 2007-04-24 devnull
93 81573e49 2007-04-24 devnull {
94 81573e49 2007-04-24 devnull info = info $0 "\n"
95 81573e49 2007-04-24 devnull }
96 81573e49 2007-04-24 devnull
97 81573e49 2007-04-24 devnull END{
98 81573e49 2007-04-24 devnull finish();
99 81573e49 2007-04-24 devnull status = "done"
100 81573e49 2007-04-24 devnull arena = ""
101 81573e49 2007-04-24 devnull info = ""
102 81573e49 2007-04-24 devnull finish();
103 81573e49 2007-04-24 devnull print "</table><hr>"
104 81573e49 2007-04-24 devnull print "</body></html>"
105 81573e49 2007-04-24 devnull }