From: Amos Jeffries <[email protected]>

> Nick Cairncross wrote:
> > This is just a curiosity  (whilst I have some time on my hands) and not 
>something I want to put into a  live environment.
> > I once stumbled across a site which offered a  program/plug-in to scan the 
>access.log file and watch for .jpg .gif etc images.  These image links were 
>then 
>pulled from the log and then populated onto a  constantly refreshing webpage 
>to 
>provide a sort of 'mosaic' of images being  viewed live. It 
>sounded...interesting, but I've never been able to find it  again. I wondered 
>if 
>anyone has seen such a thing or developed their  own.
> 
> Haven't heard of that  one myself. But its trivial these days to write a 
> daemon 
>script that accepts the  log lines directly as squid generates them and does 
>things like that  real-time.

A quick and dirty untested shell script:

#!/bin/bash
WALLFILE=images_wall.html
LOGFILE=/var/log/squid/access.log
NB_IMG=50
SLEEP=10
while :
  do
    echo "<HTML>" > $WALLFILE.tmp
    echo " <HEADER>" >> $WALLFILE.tmp
    echo "  <TITLE>Images Wall</TITLE>" >> $WALLFILE.tmp
    echo "  <META HTTP-EQUIV='REFRESH' CONTENT='$SLEEP'>" >> $WALLFILE.tmp
    echo " </HEADER>" >> $WALLFILE.tmp
    echo " <BODY>" >> $WALLFILE.tmp
    awk ' { print $7 } ' $LOGFILE |
      grep "jpg$\|gif$" |
        tail -$NB_IMG |
          while read URL
            do
              echo "  <IMG SRC='$URL'>" >> $WALLFILE.tmp
            done
    echo " </BODY>" >> $WALLFILE.tmp
    echo "</HTML>" >> $WALLFILE.tmp
    mv -f $WALLFILE.tmp $WALLFILE
    sleep $SLEEP
  done

Needs to be adapted to your access log format (the $7 in awk is the 7th (url) 
column in the logfile lines)...
You can also put it in cron and remove the main while loop and the sleep.

JD


      

Reply via email to