#!/bin/ksh93

BASEDIR=$0
BASEDIR=${BASEDIR%/*}
source ${BASEDIR}/.info

COMPANY="MyCompany"

# wieviele der letzten N snapshots angezeigt werden sollen
integer HOW_MANY="14"

if [ -n "$QUERY_STRING" ]; then
	integer N="${QUERY_STRING##*num=}"
	if (( N > 0 )); then
		HOW_MANY=N
	fi
fi

print "Content-type: text/html; charset=iso-8859-1\n"

printf '<html><head><title>Windows Server Snapshot Übersicht</title></head><body>'

export LC_TIME=de LC_NUMERIC=de

for DOM in $DOMS ; do
	printf '<h1>Snapshots von %s (xen: %s)</h1>\n' "${HOSTS[$DOM]}" "$DOM"
	CMD="zfs list -t snapshot -s creation -H -o name,used,referenced,creation"
	integer TMANY=HOW_MANY
	integer COUNT=$($CMD | fgrep "${ZVOLS[$DOM]}@" | wc -l) 
	if (( COUNT < HOW_MANY )); then
		TMANY=COUNT
	fi
	printf '<p>Die letzten %d von <a href="snapshots?num=%d">%d</a> snapshots:</p>\n' $TMANY $COUNT $COUNT
	print '<table><thead><tr><th>Snapshot</th><th>Größe</th><th>Gesamt</th><th>Erstellt am</th></tr></thead><tbody>'
	$CMD | fgrep "${ZVOLS[$DOM]}@" | tail -$TMANY | \
	while read SNAME USED SIZE TIME ; do
		printf '<tr><td>%s</td><td>%s</td><td>%s</td><td><code>%s</code></td></tr>\n' "$SNAME" "$USED" "$SIZE" "$TIME"
	done
	print '</tbody></table>'
done

print '
<h3>Info</h3>
<p>Die Windows-Server werden i.d.R. täglich um 03.00 Uhr automatisch per
Aufgabenplanung runtergefahren. Gegen 03.10 Uhr werden 
automatisch per cronjob von sol (Solaris) die Snapshots erstellt und 
anschließend die Windows-Server wieder hochgefahren.</p>
<p>Bevor die snapshots erstellt werden, prüft der cronjob, ob die Windows-Server
tatsächlich runtergefahren sind. Sind sie es nicht, prüft er alle 5min bis
max. um 04.00 Uhr. Sind selbige dann immer noch nicht unten (state
<code>shut off</code>),
bricht der cronjob ab - es wird dann kein snapshot für diesen Tag und Server 
erstellt.
</p>
<p>Siehe auch:</p>
<ul>
<li>ts: Systemsteuerung - Verwaltung - Aufgabenplanung 
(Aufgabenplanungsbibliothek %s)</li>
<li>sbs: Systemsteuerung - Geplante Tasks - shutdown</li>
<li>sol: + crontab -l</li>
</ul>
<p>Zurück zur <a href="status">Status-Seite</a>.</p>
</body></html>
' "$COMPANY"
