1 81573e49 2007-04-24 devnull # possible cron job:
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
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 = ""
23 81573e49 2007-04-24 devnull function fmt( color) {
25 81573e49 2007-04-24 devnull if(nfmt%2 == 0)
26 81573e49 2007-04-24 devnull color = "#cccccc"
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>"
33 81573e49 2007-04-24 devnull function finish() {
34 81573e49 2007-04-24 devnull if(!arena && !status)
36 81573e49 2007-04-24 devnull if(info == "" && laststatus == status){
37 81573e49 2007-04-24 devnull lastarena = arena
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, "", "");
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 = ""
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
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>"
63 81573e49 2007-04-24 devnull print "</td>"
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 = ""
73 81573e49 2007-04-24 devnull time = $1 " " $2
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"
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"
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";
94 81573e49 2007-04-24 devnull info = info $0 "\n"
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>"