On Tue, Feb 06, 2007 at 04:17:59PM -0600, Hubbard, Greg L wrote:
I knew it would be easy, but he wanted to be able to specify a time and have it display all the entries that were NEWER (or maybe older), so that it where it gets harder. Are there any shell shortcuts for data comparisons? I haven't gotten the trusty "UNIX in a Nutshell" out yet...
The 9th field is the Unix timestamp of the notification, so it would be trivial to compare that against a cut-off timestamp. Remember: The logfiles are BB compatible, and BB used shell scripts for most of its work. E.g.
#!/bin/sh
Invoked as CGI with http://www/cgi-bin/notifylog.sh?12345&67890
The numbers are the unix timestamps for beginning and end time
of the report, can be generated with GNU date using "+%s" format.
NOTE: It is horribly insecure to blindly use $QUERY_STRING in
shell scripts! This is ONLY for demonstration purposes!
STARTTIME="echo $QUERY_STRING | cut -d'&' -f1"
ENDTIME="echo $QUERY_STRING | cut -d'&' -f2"
(echo "<table summary=Notifications border=1>" echo "<tr><th align=left>Time</th><th align=left>Host.service</th><th align=left>Recipient</th></tr>"
cat /var/log/hobbit/notifications.log | while read L do set $L
if test $9 -ge "$STARTTIME" -a $9 -lt "$ENDTIME"
then
echo "<tr>"
echo "<td>$1 $2 $3 $4 $5</td>"
echo "<td>$6</td>"
echo "<td>$8</td>"
echo "</tr>"
fi
done
echo "</table>") | bbcmd bb-webpage exit 0
Henrik