#!/usr/local/bin/bash # # a script to tail /var/log/dansguardian # table manners included # # 2007.3.14 DSkinner : file init # sleep 60 echo '' > /var/log/danlogtosql LINE=`wc -l /var/log/dansguardian.log | awk '{print $1}'` while [ 0 -ne 1 ];do sleep 1 CHECKLINE=`wc -l /var/log/dansguardian.log | awk '{print $1}'` echo $CHECKLINE and $LINE comp >> /var/log/danlogtosql if [ $CHECKLINE -ne $LINE ]; then DIFF=`echo $CHECKLINE-$LINE | bc` while [ $DIFF -ne 0 ];do DIFF=`echo $DIFF-1 | bc` LINETOGET=`echo $CHECKLINE-$DIFF | bc` echo getting line $LINETOGET >> /var/log/danlogtosql VALPARSE=`sed -n ${LINETOGET}p /var/log/dansguardian.log` echo $VALPARSE >> /var/log/danlogtosql echo \ USE GUARDIAN\;\ SET @DL_DATETIME=\'`echo $VALPARSE | awk '{print $1, $2}'`\'\;\ SET @DL_USER=\'`echo $VALPARSE | awk '{print $3}'`\'\;\ SET @DL_IP=\'`echo $VALPARSE | awk '{print $4}'`\'\;\ SET @DL_URL=\'`echo $VALPARSE | awk '{print $5}'`\'\;\ SET @DL_METHOD=\'`echo $VALPARSE | awk '{print $6}'`\'\;\ SET @DL_SIZE=\'`echo $VALPARSE | awk '{print $7}'`\'\;\ SELECT danlog_stmt\(@DL_DATETIME, @DL_USER, @DL_IP, @DL_URL, @DL_METHOD, \'\', @DL_SIZE\)\; | mysql > /dev/null done fi LINE=$CHECKLINE done