- #!/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>
- '