home *** CD-ROM | disk | FTP | other *** search
- #!/bin/sh
-
- daily()
- {
- PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
- host=`hostname`
- bak=/var/backups
-
- date;echo
- echo "Removing scratch and junk files..."
-
- if [ -d /var/rwho ] ; then
- cd /var/rwho && {
- find . ! -name . -mtime +7 -exec rm -rf -- {} \; ; }
- fi
-
- touch /var/msgs/bounds;
-
- if [ -d /tmp ]; then
- cd /tmp && {
- find . -fstype local -type f -atime +3 -ctime +3 -exec rm -f -- {} \;
- find -fstype local -d . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \
- >/dev/null 2>&1; }
- fi
-
- if [ -d /var/tmp ]; then
- cd /var/tmp && {
- find . -fstype local ! -name . -atime +7 -ctime +3 -exec rm -f -- {} \;
- find -fstype local -d . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \
- >/dev/null 2>&1; }
- fi
-
- msgs -c
-
- if [ -f /var/account/acct ] ; then
- if [ -x /usr/bin/gzip ]; then gzext=".gz"; else gzext=""; fi
- echo ""
- echo "Gathering accounting statistics:"
- cd /var/account
- if [ -f "acct.2${gzext}" ] ; then mv -f "acct.2${gzext}" "acct.3${gzext}" ; fi
- if [ -f "acct.1${gzext}" ] ; then mv -f "acct.1${gzext}" "acct.2${gzext}" ; fi
- if [ -f "acct.0${gzext}" ] ; then mv -f "acct.0${gzext}" "acct.1${gzext}" ; fi
- cp -pf acct acct.0
- if [ -x /usr/bin/gzip ]; then gzip -9 acct.0; fi
- sa -s > /dev/null
- fi
-
- if [ -d /var/db/netinfo ]; then
- echo ""
- echo "Backing up NetInfo data..."
- cd /var/db/netinfo
- for domain in *.nidb; do
- domain=$(basename $domain .nidb)
- nidump -r / -t localhost/$domain > $bak/$domain.nidump;
- done
- fi
-
- echo ""
- echo "Checking subsystem status..."
-
- echo ""
- #echo "Disks:"
- #df -k -l
- #do we really need to display disks?
- #echo ""
- #dump W
-
- #if [ -d /var/spool/mqueue ]; then
- # echo ""
- #echo "mail:"
- #mailq
- #fi
-
- #echo ""
- #echo "network:"
- #netstat -i
-
- #echo ""
- if [ -d /var/rwho ] ; then
- ruptime
- fi
-
- echo ""
- echo "Rotating log files..."
- echo ""
- cd /var/log
- for i in system.log; do
- if [ -f "${i}" ]; then
- echo -" ${i}"
- if [ -x /usr/bin/gzip ]; then gzext=".gz"; else gzext=""; fi
- if [ -f "${i}.6${gzext}" ]; then mv -f "${i}.6${gzext}" "${i}.7${gzext}"; fi
- if [ -f "${i}.5${gzext}" ]; then mv -f "${i}.5${gzext}" "${i}.6${gzext}"; fi
- if [ -f "${i}.4${gzext}" ]; then mv -f "${i}.4${gzext}" "${i}.5${gzext}"; fi
- if [ -f "${i}.3${gzext}" ]; then mv -f "${i}.3${gzext}" "${i}.4${gzext}"; fi
- if [ -f "${i}.2${gzext}" ]; then mv -f "${i}.2${gzext}" "${i}.3${gzext}"; fi
- if [ -f "${i}.1${gzext}" ]; then mv -f "${i}.1${gzext}" "${i}.2${gzext}"; fi
- if [ -f "${i}.0${gzext}" ]; then mv -f "${i}.0${gzext}" "${i}.1${gzext}"; fi
- if [ -f "${i}" ]; then mv -f "${i}" "${i}.0" && if [ -x /usr/bin/gzip ]; then gzip -9 "${i}.0"; fi; fi
- touch "${i}" && chmod 640 "${i}" && chown root:admin "${i}"
- fi
- done
- if [ -f /var/run/syslog.pid ]; then kill -HUP $(cat /var/run/syslog.pid | head -1); fi
- echo ""
-
- if [ -d /var/log/httpd ]; then
- echo ""
- echo "Cleaning web server log files..."
- echo
- cd /var/log/httpd && \
- find . -type f -name '*_log.*' -mtime +7 -exec rm -f -- {} \; >/dev/null 2>&1;
- fi
-
- if [ -f /etc/daily.local ]; then
- echo ""
- echo "Running daily.local..."
- sh /etc/daily.local
- fi
-
- if [ -f /etc/security ]; then
- echo ""
- echo "Running security..."
- sh /etc/security 2>&1 | sendmail root
- fi
- }
-
- monthly()
- {
- PATH=/bin:/usr/bin:/sbin:/usr/sbin
- host=`hostname -s`
-
- date
- echo
- echo "Doing login accounting:"
- if type sort>/dev/null; then
- ac -p | sort -nr +1
- else
- ac -p
- fi
-
- echo ""
- echo -n "Rotating log files:"
- cd /var/log
- for i in wtmp; do
- if [ -f "${i}" ]; then
- echo -n " $i"
- if [ -x /usr/bin/gzip ]; then gzext=".gz"; else gzext=""; fi
- if [ -f "${i}.3${gzext}" ]; then mv -f "${i}.3${gzext}" "${i}.4${gzext}"; fi
- if [ -f "${i}.2${gzext}" ]; then mv -f "${i}.2${gzext}" "${i}.3${gzext}"; fi
- if [ -f "${i}.1${gzext}" ]; then mv -f "${i}.1${gzext}" "${i}.2${gzext}"; fi
- if [ -f "${i}.0${gzext}" ]; then mv -f "${i}.0${gzext}" "${i}.1${gzext}"; fi
- if [ -f "${i}" ]; then mv -f "${i}" "${i}.0" && if [ -x /usr/bin/gzip ]; then gzip -9 "${i}.0"; fi; fi
- touch "${i}" && chmod 640 "${i}" && chown root:admin "${i}"
- fi
- done
- if [ -f /var/run/syslog.pid ]; then kill -HUP $(cat /var/run/syslog.pid | head -1); fi
- echo ""
-
- if [ -f /etc/monthly.local ]; then
- echo ""
- echo "Running monthly.local:"
- sh /etc/monthly.local
- fi
-
- /bin/chmod +r /var/log/wtmp
- }
-
- weekly()
- {
- PATH=/bin:/sbin:/usr/sbin:/usr/bin:/usr/libexec
- export PATH
-
- host=`hostname -s`
-
- if [ -x /usr/libexec/locate.updatedb ]; then
- date
- echo ""
- echo "Rebuilding locate database..."
- locdb=/var/db/locate.database
- touch "${locdb}"; chown nobody "${locdb}"; chmod 644 "${locdb}"
- echo /usr/libexec/locate.updatedb | nice -5 su -fm nobody 2>&1 | sed -e '/Permission denied/d'
- chmod 444 "${locdb}"
- fi
-
- if [ -x /usr/libexec/makewhatis.local ]; then
- echo ""
- echo "Rebuilding whatis database..."
- if [ -d /usr/X11R6/man ]; then
- MANPATH=${MANPATH:-/usr/share/man:/usr/X11R6/man:/usr/local/man}
- else
- MANPATH=${MANPATH:-/usr/share/man:/usr/local/man}
- fi
-
- makewhatis.local "${MANPATH}"
- fi
-
- echo ""
- echo -n "Rotating log files:"
- cd /var/log
- for i in ftp.log lookupd.log lpr.log mail.log netinfo.log hwmond.log; do
- if [ -f "${i}" ]; then
- echo -n " $i"
- if [ -x /usr/bin/gzip ]; then gzext=".gz"; else gzext=""; fi
- if [ -f "${i}.3${gzext}" ]; then mv -f "${i}.3${gzext}" "${i}.4${gzext}"; fi
- if [ -f "${i}.2${gzext}" ]; then mv -f "${i}.2${gzext}" "${i}.3${gzext}"; fi
- if [ -f "${i}.1${gzext}" ]; then mv -f "${i}.1${gzext}" "${i}.2${gzext}"; fi
- if [ -f "${i}.0${gzext}" ]; then mv -f "${i}.0${gzext}" "${i}.1${gzext}"; fi
- if [ -f "${i}" ]; then mv -f "${i}" "${i}.0" && if [ -x /usr/bin/gzip ]; then gzip -9 "${i}.0"; fi; fi
- touch "${i}" && chmod 640 "${i}" && chown root:admin "${i}"
- fi
- done
- if [ -f /var/run/syslog.pid ]; then kill -HUP $(cat /var/run/syslog.pid | head -1); fi
- echo ""
-
- if [ -f /etc/weekly.local ]; then
- echo ""
- echo "Running weekly.local:"
- sh /etc/weekly.local
- fi
- }
-
- if [ $1 = "-daily" ]
- then
- daily
- fi
-
- if [ $1 = "-monthly" ]
- then
- monthly
- fi
-
- if [ $1 = "-weekly" ]
- then
- weekly
- fi
-
- if [ $1 = "-all" ]
- then
- daily;echo;weekly;echo;monthly
- fi
-
- sleep 1
- date
-