bllklly@uwmacc.UUCP (Bill Kelly) (02/21/85)
<>
Here's something that might be of use to news administrators.
As far as I can tell, the news log files grow indefinitely.
Enclosed are a shell script to move the log file to an old log
file when run (I run this nightly with cron), and an awk program
to summarize a 2.10.2 form log file. Actually, the script keeps
a series of old log files in /usr/lib/news/OLDLOGS, so you have
a little leeway in noticing a problem before the logs disappear.
Oh, one other unusual thing, the script also looks for log.unbatch
file, something I added locally to track down a specific problem.
The awk program looks for the usual
things you see in a log file and counts them, printing out
unusual things in a separate list.
# ----cut here and run thru sh, not csh----------------------
# This is a shell archive. Remove anything before this line,
# then unpack it by saving it in a file and typing "sh file".
#
# Wrapped by maccunix!bllklly on Thu Feb 21 10:03:02 CST 1985
# Contents: cleanup cleanup.awk
echo x - cleanup
sed 's/^@//' > "cleanup" <<'@//E*O*F cleanup//'
#! /bin/csh
# Shell script to cull unusual messages from news log file
# and clean up old log files automatically in similar manner to
# /usr/adm/newlog
cd /usr/lib/news
# Send error messages and summary to administrator
( cat errlog ; awk -f cleanup.awk log ) | mail -s "News Summary" usenet
cp /dev/null errlog
# Copy logfile
foreach LOG (log log.unbatch)
cd /usr/lib/news/OLDLOGS
rm $LOG.7
mv $LOG.6 $LOG.7
mv $LOG.5 $LOG.6
mv $LOG.4 $LOG.5
mv $LOG.3 $LOG.4
mv $LOG.2 $LOG.3
mv $LOG.1 $LOG.2
mv $LOG.0 $LOG.1
mv ../$LOG $LOG.0
cd ..
cp /dev/null $LOG
chown news $LOG
chmod 666 $LOG
end
@//E*O*F cleanup//
chmod u=rwx,g=rx,o=rx cleanup
echo x - cleanup.awk
sed 's/^@//' > "cleanup.awk" <<'@//E*O*F cleanup.awk//'
BEGIN {errors=0; badlinecounts=0; received=0; posted=0; dups=0;
cancelled=0; cfail=0; csuccess=0; cgroups=0; ctlmsgs=0; old=0}
/Bad option/{next}
/Duplicate/{dups++; next}
/Ctl Msg/ {ctlmsgs++; next}
/Article too old/ {old++; next}
/posted/ {posted++; next}
# Sent to corresponds to posted, except for local group postings.
/sent to/ {next}
/subj 'cmsg cancel/{cancelled++; next}
/subj 'cancel/{cancelled++; next}
/Can't cancel/{cfail++; next}
/Cancelling/{csuccess++; next}
/cancel article/{cgroups++; next}
/from/ {next}
/received/ {received++; next}
/linecount/{badlinecounts++; next}
{if (length==0) next;
if (errors++ == 0) {
print "Miscellaneous errors:";
}
print; next}
/cancel/ {next}
END {print " SUMMARY"
if (posted)
print posted,"articles posted."
if (ctlmsgs)
print ctlmsgs,"control messages received."
if (received)
print received,"articles received."
if (old)
print old " old articles moved to junk."
if (dups)
print dups,"duplicate articles rejected."
if (badlinecounts)
print badlinecounts,"articles/duplicates had bad line counts."
if (cancelled) {
print cancelled " articles cancelled, " cfail " unsuccessfully,"
print " " csuccess " successfully in " cgroups " groups."
}
}
@//E*O*F cleanup.awk//
chmod u=rwx,g=rx,o=rx cleanup.awk
exit 0
--
Bill Kelly
{allegra, ihnp4, seismo}!uwvax!uwmacc!bllklly
1210 West Dayton St/U Wisconsin Madison/Mad WI 53706dave@uwvax.UUCP (Dave Cohrs) (02/21/85)
> Here's something that might be of use to news administrators. > As far as I can tell, the news log files grow indefinitely. > Enclosed are a shell script to move the log file to an old log > file when run... There is a shellscript 'trimlog' which is distributed with 2.10.2 news. It performs this same function, without the extra old logfiles, it only keeps one logfile. -- dave cohrs ...!{allegra,harvard,ihnp4,seismo}!uwvax!dave dave@wisc-rsch.arpa (bug? what bug? that's a feature!)
phil@amdcad.UUCP (Phil Ngai) (02/23/85)
> There is a shellscript 'trimlog' which is distributed with 2.10.2 news. > It performs this same function, without the extra old logfiles, it > only keeps one logfile. > -- > dave cohrs I *like* having the little log files. It makes it easy to see what happened on a particular day. -- This is my opinion, I guess. Phil Ngai (408) 749-5720 UUCP: {ucbvax,decwrl,ihnp4,allegra}!amdcad!phil ARPA: amdcad!phil@decwrl.ARPA