#!/bin/sh # # /secure/weekly # root crontab weekly entries # # History: # 26.11.00 sb Add /var/adm/messages # 22.02.01 sb Wait 30 secs between pruning (for syslog to restart) # Send null post pruning command for non-syslog logs. os=`uname -s` if [ "$os" = "SunOS" ] ; then #grep="/usr/xpg4/bin/grep"; grep="grep -c" elif [ "$os" = "Linux" ] ; then # Suse Linux: grep="/usr/bin/grep -q"; fi ## Is this a loghost? grep `uname -n` /etc/hosts | $grep loghost >/dev/null if [ "$?" = "0" ] ; then #date #echo "loghost, so prune syslogs" ## Analyse logs/logins before log pruning: if [ -f /secure/logcheck/logcheck.sh ] ; then /secure/logcheck/logcheck.sh; fi ## Prune syslog logs weekly, keeping the last 6 months or so: ## wait for 30 secs between logs, to give syslog time to restart /secure/rotate_log -n 40 alertlog | tee /var/log/weekly.out sleep 30 /secure/rotate_log -n 40 authlog | tee /var/log/weekly.out sleep 30 /secure/rotate_log -n 20 cronlog | tee /var/log/weekly.out sleep 30 /secure/rotate_log -n 40 daemonlog | tee /var/log/weekly.out sleep 30 /secure/rotate_log -n 40 kernlog | tee /var/log/weekly.out sleep 30 /secure/rotate_log -n 40 local0log | tee /var/log/weekly.out sleep 30 /secure/rotate_log -n 40 local2log | tee /var/log/weekly.out sleep 30 /secure/rotate_log -n 40 local5log | tee /var/log/weekly.out sleep 30 /secure/rotate_log -n 20 newslog | tee /var/log/weekly.out sleep 30 /secure/rotate_log -n 40 userlog | tee /var/log/weekly.out sleep 30 /secure/rotate_log -n 10 lprlog | tee /var/log/weekly.out sleep 30 /secure/rotate_log -n 20 maillog | tee /var/log/weekly.out #else # echo "not a loghost, so do not prune syslogs" fi if [ "$os" = "SunOS" ] ; then ## General server & workstation Solaris 2.x logs: /secure/rotate_log -L /var/adm -n 52 messages | tee /var/log/weekly.out ## these don't concern syslog, so we pass a null command to be executed ## after log pruning (by default syslog is restarted) /secure/rotate_log -L /var/adm -n 52 loginlog -E ' ' | tee /var/log/weekly.out /secure/rotate_log -L /var/adm -c -m 640 -M 440 -c -s -n 52 sulog | tee /var/log/weekly.out /secure/rotate_log -L /var/adm -c -m 640 -M 440 -c -s -n 4 vold.log | tee /var/log/weekly.out /secure/rotate_cron | tee /var/log/weekly.out elif [ "$os" = "Linux" ] ; then ## Suse Linux: /secure/rotate_log -L /var/log -n 30 localmessages | tee /var/log/weekly.out # /secure/rotate_log -L /var/log -n 30 firewall | tee /var/log/weekly.out /secure/rotate_log -L /var/log -n 30 messages | tee /var/log/weekly.out /secure/rotate_log -L /var/log -n 30 mail | tee /var/log/weekly.out /secure/rotate_log -L /var/log -n 30 warn | tee /var/log/weekly.out /secure/rotate_log -L /var/log -n 30 faillog | tee /var/log/weekly.out /secure/rotate_log -L /var/log -n 30 XFree86.0.log | tee /var/log/weekly.out /secure/rotate_log -L /var/log -n 30 rsyncd.log | tee /var/log/weekly.out fi #date #echo "$0 done"