Newer
Older
sysupd / sysupd
@root root on 10 Feb 2006 1 KB Added copyright information.
#!/bin/sh
# Update Various System Files, Ports, etc.
# Copyright (c) 2006, TundraWare Inc, Des Plaines, IL USA
# All Rights Reserved
# $Id: sysupd,v 1.101 2006/02/10 06:39:59 root Exp $


#####
# The CVSHOST To Use
#####

CVSHOST=cvsup5.freebsd.org


#####
# Where To Put The Various Log Files Generated Here
#####

DIRCVS=/bku/LOGS
DIRINDEX=/bku/LOGS
DIRMIRROR=/bku/LOGS
DIRNESSUS=/bku/LOGS


#####
# List Of Sets To Process By Default
# Always Do The Ports Index Rebuild *After* The Ports CVSUP
#####

DEFAULTSETS='mirror nessus ports stable index'


# ---------------- 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

   ### 
   # Rebuild Ports Index
   ### 

    index)
      runupd $SET $DIRINDEX "cd /usr/ports && make index"
    ;;


    ###
    # 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|stable)
      runupd $SET $DIRCVS "/usr/local/bin/cvsup -h $CVSHOST -g /root/cvsup/$SET-supfile"
    ;;

  esac

done