Помогите разобраться
как правильно создать отчет за каждый день#! /bin/sh
DAY=$(date+%d/%m/%Y)/usr/bin/sarg -d $DAY
очеты после срабатывания создаються за весь период работы Squida
>Помогите разобраться
>как правильно создать отчет за каждый день
>
>#! /bin/sh
>DAY=$(date+%d/%m/%Y)
>
>/usr/bin/sarg -d $DAY
>
>очеты после срабатывания создаються за весь период работы Squidasquid -k rotate
>Помогите разобраться
>как правильно создать отчет за каждый день
>#! /bin/sh
>DAY=$(date+%d/%m/%Y)>/usr/bin/sarg -d $DAY
>очеты после срабатывания создаються за весь период работы Squida
Я у себя на сервере кручу по крону (в конце приведено) скрипт, приведенный ниже. Это исправленный скрипт, который был найден на сайте сквида или сарга, уже точно и не помню. Исправления касаются генерации недельных отчетов. Ротация логов происходит в этом же скрипте.
#!/usr/local/bin/bash
# SARG - Daily/Weekly/Monthly Squid usage reports creation tool
# Written by Ugo Viti <ugo.viti@initzero.it># Thanks for enanchements to:
# - martijn
# - Stas Degteff https://sourceforge.net/users/stas_degteff/VER=20050202
## What is this?
# sarg-reports (this file) is a simple bash script written to automate
# the SARG (a powerful squid log analyzer) reports and log management.
# Sarg it self, provide to end user a generic interface to create
# reports based on squid access log (begin of log to current date).
# sarg-reports (this script) is useful because it allow you to easly
# create and manage Daily, Weekly and Monthly reports.
# Try it, within 5 minutes you will be ready to rule :-)
# using sarg-reports is very easy, read the following 3 steps to know how## Requirements
# a) An unix system with bash shell (like GNU/Linux, FreeBSD, etc...)
# b) Squid - http://www.squid-cache.org
# c) Sarg - http://web.onda.com.br/orso/sarg.html
##
## Installation guide and configuration parameters
### 1) Download Squid and Sarg, Install, Configure and Tune
# they before continue reading# 2) In root crontab (crontab -e) insert the following lines:
# (the today report creation time depend mostly of your squid server
# load average, tune it):
#
# --- BEGIN ROOT CRONTAB ---
# PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
# 00 08-18/1 * * * sarg-reports today
# 00 00 * * * sarg-reports daily
# 00 01 * * 1 sarg-reports weekly
# 30 02 1 * * sarg-reports monthly
# --- END ROOT CRONTAB ---
#
# REMEMBER: if you use logrotate, configure it to rotate the logs within MONTHLY basis,
# AFTER sarg-reports created the monthly html report.# 3) Customize the following variables:
# (Please, configure accurately the sarg.conf file before)
#
# (SARG) The sarg executable location
# (SQUID) The squid executable location
# (CONFIG) The sarg main configuration file location
# (LOGDIR) Location where logfiles lies
#(ROTATEDLOGFILE) Name of file where will be current log after log rotation
# (HTMLOUT) Location where will be saved the reports
# (PAGETITLE) The title of main index page
# (LOGOIMG) Image logo to view in main index page
# (LOGOLINK) HTTP web page link of logo
# (DAILY) Word 'daily' translation, translate it to your language
# (WEEKLY) Word 'weekly' translation, translate it to your language
# (MONTHLY) Word 'monthly' translation, translate it to your language
# (EXCLUDELOG1) Exclude text from cron emails
# + (normally, sarg, during cron activity, if it don't find any valid records,
# (EXCLUDELOG2) it will output an error message (usually on 'today' reports).
# I don't want to be warned by email about this, so, i wrote the 'text'
# that will be never logged.
# This is useful to receive email of real problems only (enjoy that)#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
## Italian Language
# SARG=/usr/bin/sarg
# CONFIG=/etc/sarg/sarg.conf
# HTMLOUT=/var/www/html/admin/log/proxy
# PAGETITLE="Statistiche Proxy di $(hostname)"
# LOGOIMG=http://www.initzero.it/images/initzero-logo.jpg
# LOGOLINK=http://www.initzero.it
# DAILY=Giornaliero
# WEEKLY=Settimanale
# MONTHLY=Mensile
#EXCLUDELOG1="SARG: Nessun records trovato."
#EXCLUDELOG2="SARG: Fine"
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
## Russian Language
SARG="/usr/local/bin/sarg"
SQUID="/usr/local/sbin/squid"
CONFIG=/usr/local/etc/sarg/sarg.conf
LOGDIR=/var/log/squid
ROTATEDLOGFILE=access.log.0
HTMLOUT=/usr/local/www/internal/sarg-reports
PAGETITLE="пФЮЕФ РП ЙУРПМШЪПЧБОЙА ФТБЖЖЙЛБ Squid" # russian koi8-r
LOGOIMG=http://litek.ru/images/logotop.gif
LOGOLINK=http://litek.ru
DAILY="еЦЕДОЕЧОЩК ПФЮЕФ" # russian koi8-r
WEEKLY="пФЮЕФ ЪБ ОЕДЕМА" # russian koi8-r
MONTHLY="пФЮЕФ ЪБ НЕУСГ" # russian koi8-r
EXCLUDELOG1="SARG: Records in file:"
#EXCLUDELOG2="SARG: ïÔÞÅÔ ÕÓÐÅÛÎÏ ÓÇÅÎÅÒÉÒÏ×ÁÎ ×" # sarg.conf: language Russian_koi8
EXCLUDELOG2=""
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
######################################################################
## The configuration is end, so don't touch anything bellow# TEMP Files
TMPFILE=/tmp/sarg-reports.$RANDOM
ERRORS="${TMPFILE}.errors"# Date Calc
MANUALDATE=$2
case "$(uname)" in
"FreeBSD")
TODAY=$(date +%d/%m/%Y)
YESTERDAY=$(date -v-1d +%d/%m/%Y)
WEEKAGO=$(date -v-1w +%d/%m/%Y)
MONTHAGO=$(date -v-1m +01/%m/%Y)-$(date -v-1m +31/%m/%Y)
;;
#"OpenBSD")
# TODAY=$(date +%d/%m/%Y)
# YESTERDAY=$(date -r $((`date +%s` - 86400 )) +%d/%m/%Y)
# WEEKAGO=$(date -r $((`date +%s` - 604800)) +%d/%m/%Y)
# MONTHAGO=$(perl -e '@t=localtime(time); $y=$t[4]==0?$t[5]+1899:$t[5]+1900; $m=$t[4]==0?12:$t[4]; print "1/$m/$y-",$m==2?$y%4>0?28:29:$m==4||$m==6||$m==9||$m==11?30:31 ,"/$m/$y\n";')
# ;;
*)
TODAY=$(date --date "today" +%d/%m/%Y)
YESTERDAY=$(date --date "1 day ago" +%d/%m/%Y)
WEEKAGO=$(date --date "1 week ago" +%d/%m/%Y)
MONTHAGO=$(date --date "1 month ago" +01/%m/%Y)-$(date --date "1 month ago" +31/%m/%Y)
;;
esac# Fix for Red Hat 9 systems and coreutils prior to 5.0 version
export LC_ALL=C# Main index.html creation
create_index_html ()
{
echo -e "\
<html>\n\
<head>\n\
<title>$PAGETITLE</title>\n\
<META http-equiv=Content-Type content=\"text/html; charset=koi8-r\">\n\
</head>\n\
<body>\n\
<div align=center>\n\
<table border=0 cellspacing=6 cellpadding=7>\n\
<tr>\n\
<th align=center nowrap><b><font face=Arial size=4 color=green>$PAGETITLE</font></b></th>\n\
</tr>\n\
<tr>\n\
<td align=center bgcolor=beige><font face=Arial size=3><a href=daily/>$DAILY</a></font></td>\n\
</tr>\n\
<tr>\n\
<td align=center bgcolor=beige><font face=Arial size=3><a href=weekly/>$WEEKLY</a></font></td>\n\
</tr>\n\
<tr>\n\
<td align=center bgcolor=beige><font face=Arial size=3><a href=monthly/>$MONTHLY</a></font></td>\n\
</tr>\n\
</table>\n\
</div>\n\
</body>\n\
</html>" > $HTMLOUT/index.html
}reports_autorm () {
BAKLIST="${TMPFILE}.BAKLIST"
BAKLISTTOLEAVELIST="${BAKLIST}.TOLEAVE.LIST"
BAKLISTTOLEAVEFIND="${BAKLIST}.TOLEAVE.FIND"
touch $BAKLIST $BAKLISTTOLEAVELIST $BAKLISTTOLEAVEFINDcd $DESTINATION
find -name "*$BAKNAME*" -maxdepth 1 | sed -e 's/.\///' | grep -wv "." | sort 1> $BAKLIST
let TOLEAVEDAYS="$DAYBAK+1"
if [ $TOLEAVEDAYS -ge "0" ]
then
cat $BAKLIST | tail -n $TOLEAVEDAYS > $BAKLISTTOLEAVELIST
for BAK in $(cat $BAKLISTTOLEAVELIST)
do
echo "! -name $BAK" >> $BAKLISTTOLEAVEFIND
done
fiCURRENTH=$(date +%H)
CURRENTM=$(date +%M)
if [ ${CURRENTH:0:1} == 0 ]
then
CURRENTH=${CURRENTH:1:1}
fi
if [ ${CURRENTM:0:1} == 0 ]
then
CURRENTM=${CURRENTM:1:1}
fi
let MINUTES="((($DAYBAK*24)+$CURRENTH)*60)+$CURRENTM+1"# Purging old backups, only if backup return "OK" status
find $DESTINATION -name "*$BAKNAME*" $(cat $BAKLISTTOLEAVEFIND) -maxdepth 1 -mmin +$MINUTES -exec rm -rf {} \;
#find $DESTINATION $(cat $BAKLISTTOLEAVEFIND) -maxdepth 1 -mmin +$MINUTES -exec rm -rf {} \;
}# Functions
exclude_from_log ()
{
cat $ERRORS | grep -v "$EXCLUDELOG1" | grep -v "$EXCLUDELOG2"
rm -f $TMPFILE*
}manual ()
{
DAILYOUT=$HTMLOUT/$DAILY
mkdir -p $DAILYOUT
create_index_html
if [ -z "$MANUALDATE" ]
then
echo "No date given, please specify a valid date (DD/MM/YYYY)"
else
$SARG -f $CONFIG -d $MANUALDATE -o $DAILYOUT
fi
}today ()
{
DAILYOUT=$HTMLOUT/daily
mkdir -p $DAILYOUT
create_index_html
$SARG -f $CONFIG -d $TODAY -o $DAILYOUT >$ERRORS 2>&1
exclude_from_log
}daily ()
{
DAILYOUT=$HTMLOUT/daily
mkdir -p $DAILYOUT
create_index_html
#Squid must be running !!
$SQUID -k rotate
# [ ! -e $LOGDIR/$ROTATEDLOGFILE ] &&
touch $LOGDIR/$ROTATEDLOGFILE
sleep 120
# $SARG -l $LOGDIR/$ROTATEDLOGFILE -f $CONFIG -d $YESTERDAY -o $DAILYOUT >$ERRORS 2>&1
$SARG -l $LOGDIR/$ROTATEDLOGFILE -f $CONFIG -o $DAILYOUT >$ERRORS 2>&1
cat $LOGDIR/$ROTATEDLOGFILE>>$LOGDIR/weekly.log
cat $LOGDIR/$ROTATEDLOGFILE>>$LOGDIR/monthly.log
rm $LOGDIR/$ROTATEDLOGFILE
exclude_from_log
}weekly ()
{
WEEKLYOUT=$HTMLOUT/weekly
mkdir -p $WEEKLYOUT
create_index_html
# $SARG -l $LOGDIR/weekly.log -f $CONFIG -d $WEEKAGO-$YESTERDAY -o $WEEKLYOUT >$ERRORS 2>&1
$SARG -l $LOGDIR/weekly.log -f $CONFIG -o $WEEKLYOUT >$ERRORS 2>&1
rm $LOGDIR/weekly.log
exclude_from_log
}monthly ()
{
MONTHLYOUT=$HTMLOUT/monthly
mkdir -p $MONTHLYOUT
create_index_html
# $SARG -l $LOGDIR/monthly.log -f $CONFIG -d $MONTHAGO -o $MONTHLYOUT >$ERRORS 2>&1
$SARG -l $LOGDIR/monthly.log -f $CONFIG -o $MONTHLYOUT >$ERRORS 2>&1
# Rotate monthly log
[ -e $LOGDIR/monthly.10.gz ] && rm $LOGDIR/monthly.10.gz
for num in 9 8 7 6 5 4 3 2 1 0;
do
nextnum=$(($num+1))
[ -e $LOGDIR/monthly.$num.gz ] && mv $LOGDIR/monthly.$num.gz $LOGDIR/monthly.$nextnum.gz
done
mv $LOGDIR/monthly.log $LOGDIR/monthly.0
gzip $LOGDIR/monthly.0
exclude_from_log
}case $1 in
manual)
manual
;;
today)
today
;;
daily)
daily
;;
weekly)
weekly
;;
monthly)
monthly
;;
*)
echo "SARG - Daily / Weekly / Monthly - Squid proxy usage reports creation tool"
echo "Written by Ugo Viti <ugo.viti@initzero.it>"
echo "Version: $VER"
echo
echo "Usage: $0 [OPTIONS]"
echo
echo "Allowed options:"
echo " manual, Create Manual report"
echo " today, Create Today report"
echo " daily, Create Daily report"
echo " weekly, Create Weekly report"
echo " montly, Create Monthly report"
exit 0
esac
## HISTORY:
# 20050502 - Stas Degteff added support for non latin Charset and added support for OpenBSD
# 20030826 - FreeBSD support (thanks to martijn to let me coding on your FreeBSD server :-))
# 20030715 - Some cleanups
# 20030623 - Manual report creation
# 20030620 - Main Index creation
# 20030619 - Solved 'sort' bug on Red Hat 9 systems
# 20030618 - First Version
## TODO:
# - Smarty weekly recognition...
# Like "begin of last week to end of last week",
# doesn't like this script do: "7 days ago to yesterday"
# - Monthly recognition isn't so elegant (is very ugly, i know)
# - Suggestions are welcome :-)
# - If you Rotate the squid logs before sarg-reports will run,
# it will not create any html reports
# (TIPS: Rotate the logs after sarg-reports)
Использование:0 0 * * * root /usr/local/etc/sarg-scripts/sarg-reports daily
15 0 * * 1 root /usr/local/etc/sarg-scripts/sarg-reports weekly
20 1 1 * * root /usr/local/etc/sarg-scripts/sarg-reports monthly
Если тебе хочется создавать отчеты за каждый день, то тебе поможет мой скрипт.
Формулировка "как правильно создать отчет за каждый день" соответствует полученному результату "очеты после срабатывания создаються за весь период работы Squid-a". Если тебе хочется создать отчеты за каждый день - то используя твой скрипт у тебя это неплохо получается.Борец за грамотность )
>>Помогите разобраться
>>как правильно создать отчет за каждый день
>>#! /bin/sh
>>DAY=$(date+%d/%m/%Y)
>
>>/usr/bin/sarg -d $DAY
>
>>очеты после срабатывания создаються за весь период работы Squida
>
>Я у себя на сервере кручу по крону (в конце приведено) скрипт,
>приведенный ниже. Это исправленный скрипт, который был найден на сайте сквида
>или сарга, уже точно и не помню. Исправления касаются генерации недельных
>отчетов. Ротация логов происходит в этом же скрипте.
>
>
>#!/usr/local/bin/bash
># SARG - Daily/Weekly/Monthly Squid usage reports creation tool
># Written by Ugo Viti <ugo.viti@initzero.it>
>
># Thanks for enanchements to:
># - martijn
># - Stas Degteff https://sourceforge.net/users/stas_degteff/
>
>VER=20050202
>
>## What is this?
># sarg-reports (this file) is a simple bash script written to automate
>
># the SARG (a powerful squid log analyzer) reports and log management.
>
># Sarg it self, provide to end user a generic interface to
>create
># reports based on squid access log (begin of log to current
>date).
># sarg-reports (this script) is useful because it allow you to easly
>
># create and manage Daily, Weekly and Monthly reports.
># Try it, within 5 minutes you will be ready to rule
>:-)
># using sarg-reports is very easy, read the following 3 steps to
>know how
>
>## Requirements
># a) An unix system with bash shell (like GNU/Linux, FreeBSD, etc...)
>
># b) Squid - http://www.squid-cache.org
># c) Sarg - http://web.onda.com.br/orso/sarg.html
>
>
>##
>## Installation guide and configuration parameters
>##
>
># 1) Download Squid and Sarg, Install, Configure and Tune
># they before continue reading
>
># 2) In root crontab (crontab -e) insert the following lines:
># (the today report creation time depend mostly of
>your squid server
># load average, tune it):
>#
># --- BEGIN ROOT CRONTAB ---
># PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
># 00 08-18/1 * * * sarg-reports today
># 00 00 *
>* * sarg-reports daily
># 00 01 *
>* 1 sarg-reports weekly
># 30 02 1
>* * sarg-reports monthly
># --- END ROOT CRONTAB ---
>#
># REMEMBER: if you use logrotate, configure it to
>rotate the logs within MONTHLY basis,
>#
> AFTER sarg-reports created the monthly html report.
>
># 3) Customize the following variables:
># (Please, configure accurately the sarg.conf file before)
>#
># (SARG) The sarg executable
>location
># (SQUID) The squid executable location
># (CONFIG) The sarg main configuration file
>location
># (LOGDIR) Location where logfiles lies
>#(ROTATEDLOGFILE) Name of file where will be current log after log rotation
>
># (HTMLOUT) Location where will be saved the
>reports
># (PAGETITLE) The title of main index page
># (LOGOIMG) Image logo to view in main
>index page
># (LOGOLINK) HTTP web page link of logo
># (DAILY) Word 'daily' translation, translate
>it to your language
># (WEEKLY) Word 'weekly' translation, translate it
>to your language
># (MONTHLY) Word 'monthly' translation, translate it to
>your language
># (EXCLUDELOG1) Exclude text from cron emails
># +
> (normally, sarg, during cron activity, if it don't find
>any valid records,
># (EXCLUDELOG2) it will output an error message (usually on 'today' reports).
>
>#
> I don't want to be warned by email
>about this, so, i wrote the 'text'
>#
> that will be never logged.
>#
> This is useful to receive email of real
>problems only (enjoy that)
>
>#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
>## Italian Language
># SARG=/usr/bin/sarg
># CONFIG=/etc/sarg/sarg.conf
># HTMLOUT=/var/www/html/admin/log/proxy
># PAGETITLE="Statistiche Proxy di $(hostname)"
># LOGOIMG=http://www.initzero.it/images/initzero-logo.jpg
># LOGOLINK=http://www.initzero.it
># DAILY=Giornaliero
># WEEKLY=Settimanale
># MONTHLY=Mensile
>#EXCLUDELOG1="SARG: Nessun records trovato."
>#EXCLUDELOG2="SARG: Fine"
>#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
>
>
>#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
>## Russian Language
> SARG="/usr/local/bin/sarg"
> SQUID="/usr/local/sbin/squid"
> CONFIG=/usr/local/etc/sarg/sarg.conf
> LOGDIR=/var/log/squid
> ROTATEDLOGFILE=access.log.0
> HTMLOUT=/usr/local/www/internal/sarg-reports
> PAGETITLE="пФЮЕФ РП ЙУРПМШЪПЧБОЙА ФТБЖЖЙЛБ Squid" #
>russian koi8-r
> LOGOIMG=http://litek.ru/images/logotop.gif
> LOGOLINK=http://litek.ru
> DAILY="еЦЕДОЕЧОЩК ПФЮЕФ" # russian
>koi8-r
> WEEKLY="пФЮЕФ ЪБ ОЕДЕМА" #
>russian koi8-r
> MONTHLY="пФЮЕФ ЪБ НЕУСГ" #
>russian koi8-r
>EXCLUDELOG1="SARG: Records in file:"
>#EXCLUDELOG2="SARG: ïÔÞÅÔ ÕÓÐÅÛÎÏ ÓÇÅÎÅÒÉÒÏ×ÁÎ ×" # sarg.conf: language Russian_koi8
>EXCLUDELOG2=""
>#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
>
>
>######################################################################
>## The configuration is end, so don't touch anything bellow
>
># TEMP Files
>TMPFILE=/tmp/sarg-reports.$RANDOM
> ERRORS="${TMPFILE}.errors"
>
># Date Calc
>MANUALDATE=$2
>case "$(uname)" in
>"FreeBSD")
> TODAY=$(date +%d/%m/%Y)
> YESTERDAY=$(date -v-1d +%d/%m/%Y)
> WEEKAGO=$(date -v-1w +%d/%m/%Y)
> MONTHAGO=$(date -v-1m +01/%m/%Y)-$(date -v-1m +31/%m/%Y)
> ;;
>#"OpenBSD")
># TODAY=$(date +%d/%m/%Y)
># YESTERDAY=$(date -r $((`date +%s` - 86400 ))
>+%d/%m/%Y)
># WEEKAGO=$(date -r $((`date +%s` -
>604800)) +%d/%m/%Y)
># MONTHAGO=$(perl -e '@t=localtime(time); $y=$t[4]==0?$t[5]+1899:$t[5]+1900; $m=$t[4]==0?12:$t[4]; print "1/$m/$y-",$m==2?$y%4>0?28:29:$m==4||$m==6||$m==9||$m==11?30:31 ,"/$m/$y\n";')
># ;;
>*)
> TODAY=$(date --date "today"
>+%d/%m/%Y)
> YESTERDAY=$(date --date "1 day ago" +%d/%m/%Y)
> WEEKAGO=$(date --date "1 week ago"
>+%d/%m/%Y)
> MONTHAGO=$(date --date "1 month ago" +01/%m/%Y)-$(date
>--date "1 month ago" +31/%m/%Y)
> ;;
>esac
>
># Fix for Red Hat 9 systems and coreutils prior to 5.0
>version
>export LC_ALL=C
>
># Main index.html creation
>create_index_html ()
>{
> echo -e "\
> <html>\n\
> <head>\n\
> <title>$PAGETITLE</title>\n\
> <META http-equiv=Content-Type content=\"text/html; charset=koi8-r\">\n\
> </head>\n\
> <body>\n\
> <div align=center>\n\
> <table border=0 cellspacing=6 cellpadding=7>\n\
> <tr>\n\
> <th align=center nowrap><b><font face=Arial size=4 color=green>$PAGETITLE</font></b></th>\n\
> </tr>\n\
> <tr>\n\
> <td align=center bgcolor=beige><font face=Arial size=3><a href=daily/>$DAILY</a></font></td>\n\
> </tr>\n\
> <tr>\n\
> <td align=center bgcolor=beige><font face=Arial size=3><a href=weekly/>$WEEKLY</a></font></td>\n\
> </tr>\n\
> <tr>\n\
> <td align=center bgcolor=beige><font face=Arial size=3><a href=monthly/>$MONTHLY</a></font></td>\n\
> </tr>\n\
> </table>\n\
> </div>\n\
> </body>\n\
> </html>" > $HTMLOUT/index.html
>}
>
>reports_autorm () {
> BAKLIST="${TMPFILE}.BAKLIST"
> BAKLISTTOLEAVELIST="${BAKLIST}.TOLEAVE.LIST"
> BAKLISTTOLEAVEFIND="${BAKLIST}.TOLEAVE.FIND"
> touch $BAKLIST $BAKLISTTOLEAVELIST $BAKLISTTOLEAVEFIND
>
> cd $DESTINATION
>
> find -name "*$BAKNAME*" -maxdepth 1 | sed -e 's/.\///' | grep -wv "." | sort 1> $BAKLIST
>
> let TOLEAVEDAYS="$DAYBAK+1"
>
> if [ $TOLEAVEDAYS -ge "0" ]
> then
> cat $BAKLIST | tail -n $TOLEAVEDAYS > $BAKLISTTOLEAVELIST
> for BAK in $(cat $BAKLISTTOLEAVELIST)
> do
> echo "! -name $BAK" >> $BAKLISTTOLEAVEFIND
> done
> fi
>
> CURRENTH=$(date +%H)
> CURRENTM=$(date +%M)
> if [ ${CURRENTH:0:1} == 0 ]
> then
> CURRENTH=${CURRENTH:1:1}
> fi
> if [ ${CURRENTM:0:1} == 0 ]
> then
> CURRENTM=${CURRENTM:1:1}
> fi
> let MINUTES="((($DAYBAK*24)+$CURRENTH)*60)+$CURRENTM+1"
>
> # Purging old backups, only if backup return "OK" status
>
> find $DESTINATION -name "*$BAKNAME*" $(cat $BAKLISTTOLEAVEFIND) -maxdepth 1 -mmin +$MINUTES
>-exec rm -rf {} \;
> #find $DESTINATION $(cat $BAKLISTTOLEAVEFIND) -maxdepth 1 -mmin +$MINUTES -exec rm
>-rf {} \;
>}
>
># Functions
>exclude_from_log ()
>{
> cat $ERRORS | grep -v "$EXCLUDELOG1" | grep -v "$EXCLUDELOG2"
>
> rm -f $TMPFILE*
>}
>
>manual ()
>{
> DAILYOUT=$HTMLOUT/$DAILY
> mkdir -p $DAILYOUT
> create_index_html
> if [ -z "$MANUALDATE" ]
> then
> echo "No date given, please specify
>a valid date (DD/MM/YYYY)"
> else
> $SARG -f $CONFIG -d $MANUALDATE -o
>$DAILYOUT
> fi
>}
>
>today ()
>{
> DAILYOUT=$HTMLOUT/daily
> mkdir -p $DAILYOUT
> create_index_html
> $SARG -f $CONFIG -d $TODAY -o $DAILYOUT >$ERRORS 2>&1
> exclude_from_log
>}
>
>daily ()
>{
> DAILYOUT=$HTMLOUT/daily
> mkdir -p $DAILYOUT
> create_index_html
> #Squid must be running !!
> $SQUID -k rotate
># [ ! -e $LOGDIR/$ROTATEDLOGFILE ] &&
> touch $LOGDIR/$ROTATEDLOGFILE
> sleep 120
># $SARG -l $LOGDIR/$ROTATEDLOGFILE -f $CONFIG -d $YESTERDAY -o $DAILYOUT >$ERRORS 2>&1
> $SARG -l $LOGDIR/$ROTATEDLOGFILE -f $CONFIG -o $DAILYOUT >$ERRORS 2>&1
> cat $LOGDIR/$ROTATEDLOGFILE>>$LOGDIR/weekly.log
> cat $LOGDIR/$ROTATEDLOGFILE>>$LOGDIR/monthly.log
> rm $LOGDIR/$ROTATEDLOGFILE
> exclude_from_log
>}
>
>weekly ()
>{
> WEEKLYOUT=$HTMLOUT/weekly
> mkdir -p $WEEKLYOUT
> create_index_html
># $SARG -l $LOGDIR/weekly.log -f $CONFIG -d $WEEKAGO-$YESTERDAY -o $WEEKLYOUT >$ERRORS 2>&1
> $SARG -l $LOGDIR/weekly.log -f $CONFIG -o $WEEKLYOUT >$ERRORS 2>&1
> rm $LOGDIR/weekly.log
> exclude_from_log
>}
>
>monthly ()
>{
> MONTHLYOUT=$HTMLOUT/monthly
> mkdir -p $MONTHLYOUT
> create_index_html
># $SARG -l $LOGDIR/monthly.log -f $CONFIG -d $MONTHAGO -o $MONTHLYOUT >$ERRORS 2>&1
> $SARG -l $LOGDIR/monthly.log -f $CONFIG -o $MONTHLYOUT >$ERRORS 2>&1
> # Rotate monthly log
> [ -e $LOGDIR/monthly.10.gz ] && rm $LOGDIR/monthly.10.gz
> for num in 9 8 7 6 5 4 3
>2 1 0;
> do
> nextnum=$(($num+1))
> [ -e $LOGDIR/monthly.$num.gz ] && mv $LOGDIR/monthly.$num.gz
>$LOGDIR/monthly.$nextnum.gz
> done
> mv $LOGDIR/monthly.log $LOGDIR/monthly.0
> gzip $LOGDIR/monthly.0
> exclude_from_log
>}
>
>case $1 in
> manual)
> manual
> ;;
> today)
> today
> ;;
> daily)
> daily
> ;;
> weekly)
> weekly
> ;;
> monthly)
> monthly
> ;;
> *)
> echo "SARG - Daily
>/ Weekly / Monthly - Squid proxy usage reports creation tool"
>
> echo "Written by Ugo Viti <ugo.viti@initzero.it>"
> echo "Version: $VER"
> echo
> echo "Usage: $0 [OPTIONS]"
>
> echo
> echo "Allowed options:"
> echo "
> manual, Create Manual report"
> echo "
> today, Create Today report"
> echo "
> daily, Create Daily report"
> echo "
> weekly, Create Weekly report"
> echo "
> montly, Create Monthly report"
> exit 0
>esac
>
>
>## HISTORY:
># 20050502 - Stas Degteff added support for non latin Charset and
>added support for OpenBSD
># 20030826 - FreeBSD support (thanks to martijn to let me coding
>on your FreeBSD server :-))
># 20030715 - Some cleanups
># 20030623 - Manual report creation
># 20030620 - Main Index creation
># 20030619 - Solved 'sort' bug on Red Hat 9 systems
># 20030618 - First Version
>
>
>## TODO:
># - Smarty weekly recognition...
># Like "begin of last week to end of last
>week",
># doesn't like this script do: "7 days ago to
>yesterday"
># - Monthly recognition isn't so elegant (is very ugly, i know)
>
># - Suggestions are welcome :-)
># - If you Rotate the squid logs before sarg-reports will run,
>
># it will not create any html reports
># (TIPS: Rotate the logs after sarg-reports)
>
>
>
>
>
>
>Использование:
>
>0 0
> * *
> *
> root /usr/local/etc/sarg-scripts/sarg-reports daily
>15 0
> * *
> 1
>root /usr/local/etc/sarg-scripts/sarg-reports weekly
>20 1
> 1 *
> *
>root /usr/local/etc/sarg-scripts/sarg-reports monthly
>
>
>Если тебе хочется создавать отчеты за каждый день, то тебе поможет мой
>скрипт.
>
>
>Формулировка "как правильно создать отчет за каждый день" соответствует полученному результату "очеты
>после срабатывания создаються за весь период работы Squid-a". Если тебе хочется
>создать отчеты за каждый день - то используя твой скрипт у
>тебя это неплохо получается.
>
>
>
>Борец за грамотность )Спасибо! Все получилось)
#!/bin/sh
# SARG - Daily/Weekly/Monthly Squid usage reports creation tool
# Written by Ugo Viti <ugo.viti@initzero.it># Thanks for enanchements to:
# - martijn
# - Stas Degteff https://sourceforge.net/users/stas_degteff/VER=20050202
## What is this?
# sarg-reports (this file) is a simple bash script written to automate
# the SARG (a powerful squid log analyzer) reports and log management.
# Sarg it self, provide to end user a generic interface to create
# reports based on squid access log (begin of log to current date).
# sarg-reports (this script) is useful because it allow you to easly
# create and manage Daily, Weekly and Monthly reports.
# Try it, within 5 minutes you will be ready to rule :-)
# using sarg-reports is very easy, read the following 3 steps to know how## Requirements
# a) An unix system with bash shell (like GNU/Linux, FreeBSD, etc...)
# b) Squid - http://www.squid-cache.org
# c) Sarg - http://web.onda.com.br/orso/sarg.html
##
## Installation guide and configuration parameters
### 1) Download Squid and Sarg, Install, Configure and Tune
# they before continue reading# 2) In root crontab (crontab -e) insert the following lines:
# (the today report creation time depend mostly of your squid server
# load average, tune it):
#
# --- BEGIN ROOT CRONTAB ---
# PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
# 00 08-18/1 * * * sarg-reports today
# 00 00 * * * sarg-reports daily
# 00 01 * * 1 sarg-reports weekly
# 30 02 1 * * sarg-reports monthly
# --- END ROOT CRONTAB ---
#
# REMEMBER: if you use logrotate, configure it to rotate the logs within MONTHLY basis,
# AFTER sarg-reports created the monthly html report.# 3) Customize the following variables:
# (Please, configure accurately the sarg.conf file before)
#
# (SARG) The sarg executable location
# (CONFIG) The sarg main configuration file location
# (HTMLOUT) Location where will be saved the reports
# (PAGETITLE) The title of main index page
# (LOGOIMG) Image logo to view in main index page
# (LOGOLINK) HTTP web page link of logo
# (DAILY) Word 'daily' translation, translate it to your language
# (WEEKLY) Word 'weekly' translation, translate it to your language
# (MONTHLY) Word 'monthly' translation, translate it to your language
# (EXCLUDELOG1) Exclude text from cron emails
# + (normally, sarg, during cron activity, if it don't find any valid records,
# (EXCLUDELOG2) it will output an error message (usually on 'today' reports).
# I don't want to be warned by email about this, so, i wrote the 'text'
# that will be never logged.
# This is useful to receive email of real problems only (enjoy that)#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
## Italian Language
#SARG=/usr/bin/sarg
#CONFIG=/etc/sarg/sarg.conf
#HTMLOUT=/var/www/html/admin/log/proxy
#PAGETITLE="Statistiche Proxy di $(hostname)"
#LOGOIMG=http://www.initzero.it/images/initzero-logo.jpg
#LOGOLINK=http://www.initzero.it
#DAILY=Giornaliero
#WEEKLY=Settimanale
#MONTHLY=Mensile
#EXCLUDELOG1="SARG: Nessun records trovato."
#EXCLUDELOG2="SARG: Fine"
##@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
## Russian Language
SARG="/usr/sbin/sarg"
CONFIG=/etc/sarg/sarg.conf
HTMLOUT=/var/www/html/squid
PAGETITLE="AFD Internet Statistic"
LOGOIMG=http://www.afd.com.ua/sarg.png
DAILY="daily"
WEEKLY="weekly"
MONTHLY="monthly"
EXCLUDELOG1="SARG: Records in file:"
EXCLUDELOG2="SARG: reporting" # sarg.conf: language Russian_koi8
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
######################################################################
## The configuration is end, so don't touch anything bellow
# TEMP Files
TMPFILE=/tmp/sarg-reports.$RANDOM
ERRORS="${TMPFILE}.errors"
# Date CalcMANUALDATE=$2
case "$(uname)" in
"FreeBSD")
TODAY=$(date +%d/%m/%Y)
YESTERDAY=$(date -v-1d +%d/%m/%Y)
WEEKAGO=$(date -v-1w +%d/%m/%Y)
MONTHAGO=$(date -v-1m +01/%m/%Y)-$(date -v-1m +31/%m/%Y)
;;"OpenBSD")
TODAY=$(date +%d/%m/%Y)
YESTERDAY=$(date -r $((`date +%s` - 86400 )) +%d/%m/%Y)
WEEKAGO=$(date -r $((`date +%s` - 604800)) +%d/%m/%Y)
MONTHAGO=$(perl -e '@t=localtime(time); $y=$t[4]==0?$t[5]+1899:$t[5]+1900; $m=$t[4]==0?12:$t[4]; print "1/$m/$y-",$m==2?$y%4>0?28:29:$m==4||$m==6||$m==9||$m==11?30:31 ,"/$m/$y\n";')
;;*)
TODAY=$(date --date "today" +%d/%m/%Y)
YESTERDAY=$(date --date "1 day ago" +%d/%m/%Y)
WEEKAGO=$(date --date "1 week ago" +%d/%m/%Y)
MONTHAGO=$(date --date "1 month ago" +01/%m/%Y)-$(date --date "1 month ago" +31/%m/%Y)
;;
esac
# Fix for Red Hat 9 systems and coreutils prior to 5.0 version
export LC_ALL=C
# Main index.html creation
create_index_html ()
{
echo -e "\
<html>\n\
<head>\n\
<title>$PAGETITLE</title>\n\
</head>\n\
<body>\n\
<div align=center>\n\
<a href=$LOGOLINK><img border=0 src=$LOGOIMG></a>\n\
<table border=0 cellspacing=6 cellpadding=7>\n\
<tr>\n\
<th align=center nowrap><b><font face=Arial size=4 color=green>$PAGETITLE</font></b></th>\n\
</tr>\n\
<tr>\n\
<td align=center bgcolor=beige><font face=Arial size=3><a href=$DAILY>$DAILY</a></font></td>\n\
</tr>\n\
<tr>\n\
<td align=center bgcolor=beige><font face=Arial size=3><a href=$WEEKLY>$WEEKLY</a></font></td>\n\
</tr>\n\
<tr>\n\
<td align=center bgcolor=beige><font face=Arial size=3><a href=$MONTHLY>$MONTHLY</a></font></td>\n\
</tr>\n\
</table>\n\
</div>\n\
</body>\n\
</html>" > $HTMLOUT/index.html
}reports_autorm () {
BAKLIST="${TMPFILE}.BAKLIST"
BAKLISTTOLEAVELIST="${BAKLIST}.TOLEAVE.LIST"
BAKLISTTOLEAVEFIND="${BAKLIST}.TOLEAVE.FIND"
touch $BAKLIST $BAKLISTTOLEAVELIST $BAKLISTTOLEAVEFIND
cd $DESTINATIONfind -name "*$BAKNAME*" -maxdepth 1 | sed -e 's/.\///' | grep -wv "." | sort 1> $BAKLIST
let TOLEAVEDAYS="$DAYBAK+1"
if [ $TOLEAVEDAYS -ge "0" ]
then
cat $BAKLIST | tail -n $TOLEAVEDAYS > $BAKLISTTOLEAVELIST
for BAK in $(cat $BAKLISTTOLEAVELIST)
do
echo "! -name $BAK" >> $BAKLISTTOLEAVEFIND
done
fi
CURRENTH=$(date +%H)
CURRENTM=$(date +%M)
if [ ${CURRENTH:0:1} == 0 ]
then
CURRENTH=${CURRENTH:1:1}
fi
if [ ${CURRENTM:0:1} == 0 ]
then
CURRENTM=${CURRENTM:1:1}
fi
let MINUTES="((($DAYBAK*24)+$CURRENTH)*60)+$CURRENTM+1"
# Purging old backups, only if backup return "OK" status
find $DESTINATION -name "*$BAKNAME*" $(cat $BAKLISTTOLEAVEFIND) -maxdepth 1 -mmin +$MINUTES -exec rm -rf {} \;
#find $DESTINATION $(cat $BAKLISTTOLEAVEFIND) -maxdepth 1 -mmin +$MINUTES -exec rm -rf {} \;
}
# Functions
exclude_from_log ()
{
cat $ERRORS | grep -v "$EXCLUDELOG1" | grep -v "$EXCLUDELOG2"
rm -f $TMPFILE*
}
manual ()
{
DAILYOUT=$HTMLOUT/$DAILY
mkdir -p $DAILYOUT
create_index_html
if [ -z "$MANUALDATE" ]
then
echo "No date given, please specify a valid date (DD/MM/YYYY)"
else
$SARG -f $CONFIG -d $MANUALDATE -o $DAILYOUT
fi
}
today ()
{
DAILYOUT=$HTMLOUT/$DAILY
mkdir -p $DAILYOUT
create_index_html
$SARG -f $CONFIG -d $TODAY -o $DAILYOUT >$ERRORS 2>&1
exclude_from_log
}
daily ()
{
DAILYOUT=$HTMLOUT/$DAILY
mkdir -p $DAILYOUT
create_index_html
$SARG -f $CONFIG -d $YESTERDAY -o $DAILYOUT >$ERRORS 2>&1
exclude_from_log
}
weekly ()
{
WEEKLYOUT=$HTMLOUT/$WEEKLY
mkdir -p $WEEKLYOUT
create_index_html
$SARG -f $CONFIG -d $WEEKAGO-$YESTERDAY -o $WEEKLYOUT >$ERRORS 2>&1
exclude_from_log
}
monthly ()
{
MONTHLYOUT=$HTMLOUT/$MONTHLY
mkdir -p $MONTHLYOUT
create_index_html
$SARG -f $CONFIG -d $MONTHAGO -o $MONTHLYOUT >$ERRORS 2>&1
exclude_from_log
}
case $1 in
manual)
manual
;;
today)
today
;;
daily)
daily
;;
weekly)
weekly
;;
monthly)
monthly
;;
*)
echo "SARG - Daily / Weekly / Monthly - Squid proxy usage reports creation tool"
echo "Written by Ugo Viti <ugo.viti@initzero.it>"
echo "Version: $VER"
echo
echo "Usage: $0 [OPTIONS]"
echo
echo "Allowed options:"
echo " manual, Create Manual report"
echo " today, Create Today report"
echo " daily, Create Daily report"
echo " weekly, Create Weekly report"
echo " montly, Create Monthly report"
exit 0
esac
## HISTORY:
# 20050502 - Stas Degteff added support for non latin Charset and added support for OpenBSD
# 20030826 - FreeBSD support (thanks to martijn to let me coding on your FreeBSD server :-))
# 20030715 - Some cleanups
# 20030623 - Manual report creation
# 20030620 - Main Index creation
# 20030619 - Solved 'sort' bug on Red Hat 9 systems
# 20030618 - First Version
## TODO:
# - Smarty weekly recognition...
# Like "begin of last week to end of last week",
# doesn't like this script do: "7 days ago to yesterday"
# - Monthly recognition isn't so elegant (is very ugly, i know)
# - Suggestions are welcome :-)
# - If you Rotate the squid logs before sarg-reports will run,
# it will not create any html reports
# (TIPS: Rotate the logs after sarg-reports)
Помогите запустить этот скрипт.
Я взял этот скрипт, прописал свои настройки (SARG="/usr/sbin/sarg"
CONFIG=/etc/sarg/sarg.conf, HTMLOUT=/var/www/html/squid и т. д.), задал соответствующие строки в crontab но скрипт не идет.
Тогда запустил вручную под sh и мне выдало:
command not founde 6:
: command not founde 7:
: command not founde 8:
: command not founde 18:
: command not founde 23:
: command not founde 24:
: command not founde 28:
: command not founde 31:
: command not founde 46:
: command not founde 65:
: command not founde 80:
: command not founde 81:
: command not founde 84:
: command not founde 85:
: command not founde 86:
: command not founde 87:
: command not founde 88:
: command not founde 89:
: command not founde 90:
: command not founde 91:
: command not founde 92:
: command not founde 95:
: command not founde 96:
: command not founde 99:
: command not founde 101:
: command not founde 102:
: command not founde 103:
: command not founde 105:
: command not founde 106:
./sarg-reports: line 107: syntax error near unexpected token `newline'
'/sarg-reports: line 107: `case "$(uname)" in
Почемуто не интерпретируется. Возможно у менея не установлен Сi.
Подскажите, плиз.
Помогите запустить этот скрипт.
Я взял этот скрипт, прописал свои настройки (SARG="/usr/sbin/sarg"
CONFIG=/etc/sarg/sarg.conf, HTMLOUT=/var/www/html/squid и т. д.), задал соответствующие строки в crontab но скрипт не идет.
Тогда запустил вручную под sh и мне выдало:
command not founde 6:
...... и т.д.
.........
: command not founde 106:
./sarg-reports: line 107: syntax error near unexpected token `newline'
'/sarg-reports: line 107: `case "$(uname)" in
Почемуто не интерпретируется. Возможно у менея не установлен Сi.
Подскажите, плиз.
Помогите запустить этот скрипт.
Я взял этот скрипт, прописал свои настройки (SARG="/usr/sbin/sarg"
CONFIG=/etc/sarg/sarg.conf, HTMLOUT=/var/www/html/squid и т. д.), задал соответствующие строки в crontab но скрипт не идет.
Тогда запустил вручную под sh и мне выдало:
command not founde 6:
: command not founde 7:
: command not founde 8:
: command not founde 18:
: command not founde 23:
: command not founde 24:
: command not founde 28:
: command not founde 31:
: command not founde 46:
: command not founde 65:
: command not founde 80:
: command not founde 81:
: command not founde 84:
: command not founde 85:
: command not founde 86:
: command not founde 87:
: command not founde 88:
: command not founde 89:
: command not founde 90:
: command not founde 91:
: command not founde 92:
: command not founde 95:
: command not founde 96:
: command not founde 99:
: command not founde 101:
: command not founde 102:
: command not founde 103:
: command not founde 105:
: command not founde 106:
./sarg-reports: line 107: syntax error near unexpected token `newline'
'/sarg-reports: line 107: `case "$(uname)" in
Почемуто не интерпретируется. Возможно у менея не установлен Сi.
Подскажите, плиз.
>Помогите запустить этот скрипт.
>Я взял этот скрипт, прописал свои настройки (SARG="/usr/sbin/sarg"
>CONFIG=/etc/sarg/sarg.conf, HTMLOUT=/var/www/html/squid и т. д.), задал соответствующие строки в crontab но скрипт
>не идет.
>Тогда запустил вручную под sh и мне выдало:
> command not founde 6:
>: command not founde 7:Хз конечно, но у меня моя модификация (с "точным" отчетом по неделям) работает с использованием интерпретатора bash.
Первая строка скрипта выглядит как
#!/usr/local/bin/bashЯ так понимаю у вас BSD, в котором есть свой собственный командный интерпретатор sh ?
Скрипт рассчитан на Bash, а то что указано в скрипте в виде /bin/sh - это практически общепринятый симлинк на Bash в линукс системах.
У меня Linux RedHat 9. И япытался запустить скрипт под sh. А вообще под Linux RedHat Linux RedHat этот скрипт запустить можно?
Коллеги, приветствую.
А мне поможете разрулить ситуасьон?имею stable FreeBSD_12
установлен squid + sargвсе логируется, отчеты делаются.
Решил все дело автоматизировать и отдать в cron.
согласно моему конфигу sarg пишет в /usr/local/www/squid-reports (где они удачно отображаются по строке http://ip-adress/sarg) Но команда sarg парсит весь лог squid.Я в /usr/local/www/squid-reports создал каталоги Daily Monthly Weekly
создал простой скрипт со строкой sarg -d day-1 -o /usr/local/www/squid-reports/Dailyправа на чтение у апача одинаковые как на родительский каталог так и на созданные.
Скрипт запускаю от root.
Проблема в том, что при выполнении скрипта ежедневный отчет не кладется в указанный в скрипте каталог, а создает свой Daily. (именно с точкой. Если глянуть на менеджере mc то вместо точки виден знак вопроса - ?, типа Daily?)
Соответственно при переходе по ссылке со стартовой страницы там меня ждет ошибка. типа The requested URL /sarg/$Daily was not found on this server.если переместить/скопировать созданные логи из каталога Daily. в Daily - то все отображается.
Как заставить сардж писать в нужный мне каталог?
на всякий случай стартовый index.html (стащил его с какого то форума)
<html>
<head>
<title>Access Reports $hostname</title>
</head>
<body>
<div align=center>
<table border=0 cellspacing=6 cellpadding=7>
<tr>
<th align=center nowrap><b><font face=Arial size=4 color=green>Access Reports $hostname</font></b></th>
</tr>
<tr>
<td align=center bgcolor=beige><font face=Arial size=3><a href=$Daily>Daily</a></font></td>
</tr>
<tr>
<td align=center bgcolor=beige><font face=Arial size=3><a href=$Weekly>Weekly</a></font></td>
</tr>
<tr>
<td align=center bgcolor=beige><font face=Arial size=3><a href=$Monthly>Monthly</a></font></td>
</tr>
</table>
</div>
</body>
</html>