#!/bin/sh
# stats					greid Wed Feb  3 13:23:42 1988
#
# compile statistics about the file server

homedir="/adobe/server"
case "$#" in
	0) dirs="TopLevel Programs Documents PPDFiles AFMFiles" ;;
	*) dirs="$*" ;;
esac
echo "Compiling statistics for: $dirs"
statfile="statistics"
total=0
suppresslimit="25"

tmp="/tmp/stats$$"
trap "rm -f $tmp.* ; exit" 0 1 2 15

for dir in $dirs
do
    cd $homedir/$dir
    case "$dir" in
        "TopLevel") log="$dir.stats";;
		 *) log="../$dir.stats" ;;
    esac
    echo "Category: $dir" > $log
    echo "Date: `date`" >> $log
    dirtotal=`cat .log | wc -l`
    total=`expr $total + $dirtotal`
    echo "Total Number of Accesses: $dirtotal" >> $log
    echo -n "Date of Most Recent Access: " >> $log
    tail -1 .log | awk '{print $2,$3,$4,$5,$6,$7}' | \
      sed -e "s/.DT //" >> $log
    echo -n "First Recorded Access Date: " >> $log
    head -1 .log | awk '{print $3,$4,$6,$7}' | \
      sed -e "s/.DT //" >> $log
    echo "" >> $log
    echo "Index" > $tmp.files
    awk '{print $1}' .log | grep -v ".index" >> $tmp.files
    sort -o $tmp.files -u $tmp.files
    filecount=`cat $tmp.files | wc -l`

    rm -f $tmp.sortlog
    for file in `cat $tmp.files`
    do
	grep "$file" .log > $tmp.list
	count=`awk '{print $1}' $tmp.list | wc -l`
	last=`tail -1 $tmp.list | awk '{print $2,$3,$4,$5,$6,$7}'`
	echo "$file	$count	$last" >> $tmp.sortlog
    done
   # build a control file for the mighty "tbl" program....
    echo ".TS" > $tmp.log
    echo "l r l" >> $tmp.log
    echo "l n l." >> $tmp.log
    echo "FileName	Count	Last Access" >> $tmp.log
    sort +1 -nr $tmp.sortlog | head -$suppresslimit >> $tmp.log
    echo ".TE" >> $tmp.log
    cat $tmp.log | tbl | nroff -Tsu | egrep -v '^$' >> $log
    echo "" >> $log
    testcount=`expr $suppresslimit - $filecount`
    case "$testcount" in
     -*) testcount=`expr $filecount - $suppresslimit`
	 echo "$testcount remaining entries suppressed." >> $log
	 echo "" >> $log
	 ;;
    esac
    cd $homedir
done

echo "Statistics for Adobe PostScript File Server

Date:		`date`
Categories:	$dirs
Total Accesses:	$total
" > $statfile

for category in $dirs
do
    cat $category.stats >> $statfile
done
