#!/bin/sh
# Update Various System Files, Ports, etc.
# Copyright (c) 2006, TundraWare Inc, Des Plaines, IL USA
# All Rights Reserved
# $Id: sysupd,v 1.104 2006/02/13 17:18:49 toor Exp $
#####
# Where To Put The Various Log Files Generated Here
#####
DIRCVS=/bku/LOGS
DIRMIRROR=/bku/LOGS
DIRNESSUS=/bku/LOGS
#####
# List Of Sets To Process By Default
#####
DEFAULTSETS='mirror nessus ports stable'
# ---------------- Support Functions ---------------- #
#####
# Enter Timestamp Into Current Log
# Args:
# $1 Name of logfile
#####
timestamp()
{
echo "" >> $1
echo "#####" >> $1
echo -n "# " >> $1
date >>$1
echo "#####" >> $1
echo "" >> $1
}
# End Of 'timestamp()'
#####
# Execute The Desired Update
# Args:
# $1 Update Name
# $2 Log Directory
# $3 Command String To Execute
#####
runupd()
{
log=$2/$1.log
timestamp $log
touch $2/.$1-begin && eval $3 2>&1 >> $log && touch $2/.$1-end &
}
# End of 'runupd()'
# -------------------- Program Entry Point ---------------#
#####
# Command line args override default set
#####
if [ $*_ = _ ]
then
SETS=$DEFAULTSETS
else
SETS=$*
fi
#####
# Process The Requested Updates
#####
for SET in $SETS
do
case $SET
in
###
# Update Mirrored FreeBSD Files
###
mirror)
runupd $SET $DIRCVS "/root/bin/mirror-freebsd"
;;
###
# Update The Nessus Plugins
###
nessus)
runupd $SET $DIRNESSUS "/usr/local/sbin/nessus-update-plugins -v"
;;
###
# CVSUP Updates
###
ports)
runupd $SET $DIRCVS "/usr/local/bin/cvsup -h cvsup6.freebsd.org -g /root/cvsup/$SET-supfile && cd /usr/ports && make index"
;;
stable)
runupd $SET $DIRCVS "/usr/local/bin/cvsup -h cvsup5.freebsd.org -g /root/cvsup/$SET-supfile"
;;
esac
done