add definition for ability to produce a backtrace
[unix-history] / usr / src / etc / daily
index 3d53e49..16442df 100644 (file)
@@ -1,9 +1,9 @@
 #!/bin/sh -
 #
 #!/bin/sh -
 #
-#      @(#)daily       5.13 (Berkeley) %G%
+#      @(#)daily       8.2 (Berkeley) %G%
 #
 #
-PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local
-host=`hostname -s`
+PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
+host=`hostname`
 echo "Subject: $host daily run output"
 bak=/var/backups
 
 echo "Subject: $host daily run output"
 bak=/var/backups
 
@@ -16,8 +16,7 @@ if [ -d /tmp ]; then
            >/dev/null 2>&1; }
 fi
 
            >/dev/null 2>&1; }
 fi
 
-CLEANVARTMP=0
-if [ -d /var/tmp -a $CLEANVARTMP = 1 ]; then
+if [ -d /var/tmp -a "X$CLEANVARTMP" = X1 ]; then
        cd /var/tmp && {
        find . ! -name . -atime +7 -exec rm -f -- {} \;
        find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \
        cd /var/tmp && {
        find . ! -name . -atime +7 -exec rm -f -- {} \;
        find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \
@@ -44,17 +43,18 @@ fi
 cd /tmp
 TMP=daily.$$
 find / \( ! -fstype local -o -fstype rdonly \) -a -prune -o \
 cd /tmp
 TMP=daily.$$
 find / \( ! -fstype local -o -fstype rdonly \) -a -prune -o \
-       -name 'core.*' -a -print -o \
+       -name 'lost+found' -a -prune -o \
+       -name '*.core' -a -print -o \
        \( -name '[#,]*' -o -name '.#*' -o -name a.out \
           -o -name '*.CKP' -o -name '.emacs_[0-9]*' \) \
                -a -atime +3 -a -exec rm -f -- {} \; -a -print > $TMP
 echo ""
        \( -name '[#,]*' -o -name '.#*' -o -name a.out \
           -o -name '*.CKP' -o -name '.emacs_[0-9]*' \) \
                -a -atime +3 -a -exec rm -f -- {} \; -a -print > $TMP
 echo ""
-echo "Core dumps:"
-egrep 'core\.' $TMP
+echo "Possible core dumps:"
+egrep '\.core' $TMP
 
 echo ""
 echo "Deleted files:"
 
 echo ""
 echo "Deleted files:"
-egrep -v 'core\.' $TMP
+egrep -v '\.core' $TMP
 
 rm -f $TMP
        
 
 rm -f $TMP
        
@@ -71,35 +71,10 @@ mv /var/account/acct.0 /var/account/acct.1
 cp /var/account/acct /var/account/acct.0
 sa -s > /dev/null
 
 cp /var/account/acct /var/account/acct.0
 sa -s > /dev/null
 
-echo ""
-echo "Backup passwd and group files:"
-if cmp -s $bak/master.passwd.bak /etc/master.passwd; then :; else
-       echo "$host passwd diffs:"
-       diff $bak/master.passwd.bak /etc/master.passwd
-       mv $bak/master.passwd.bak $bak/master.passwd.bak2
-       cp -p /etc/master.passwd $bak/master.passwd.bak
-fi
-if cmp -s $bak/group.bak /etc/group; then :; else
-       mv $bak/group.bak $bak/group.bak2
-       cp -p /etc/group $bak/group.bak
-fi
-if cmp -s $bak/aliases.bak /etc/aliases; then :; else
-       mv $bak/aliases.bak $bak/aliases.bak2
-       cp -p /etc/aliases $bak/aliases.bak
-fi
-if [ -f /etc/Distfile ]; then
-       if cmp -s $bak/Distfile.bak /etc/Distfile; then :; else
-               mv $bak/Distfile.bak $bak/Distfile.bak2
-               cp /etc/Distfile $bak/Distfile.bak
-       fi
-fi
-
-ROOTBACKUP=0
-# If filesystem named /altroot is type ufs, on /dev/.* and mounted "xx",
+# If ROOTBACKUP is set to 1 in the environment, and
+# if filesystem named /altroot is type ufs, on /dev/* and mounted "xx",
 # use it as a backup root filesystem to be updated daily.
 # use it as a backup root filesystem to be updated daily.
-[ ROOTBACKUP = 1 ] && {
-       echo ""
-       echo "Backing up root filesystem:"
+[ "X$ROOTBACKUP" = X1 ] && {
        rootdev=`awk '$2 == "/" && $1 ~ /^\/dev\// && $3 == "ufs" && \
            $4 == "rw" \
                 { print substr($1, 6) }' < /etc/fstab`
        rootdev=`awk '$2 == "/" && $1 ~ /^\/dev\// && $3 == "ufs" && \
            $4 == "rw" \
                 { print substr($1, 6) }' < /etc/fstab`
@@ -108,6 +83,8 @@ ROOTBACKUP=0
                { print substr($1, 6) }' < /etc/fstab`
        [ X$rootdev != X -a X$rootbak != X ] && {
                sync
                { print substr($1, 6) }' < /etc/fstab`
        [ X$rootdev != X -a X$rootbak != X ] && {
                sync
+               echo ""
+               echo "Backing up root filesystem:"
                echo "copying /dev/r$rootdev to /dev/r$rootbak"
                dd if=/dev/r$rootdev of=/dev/r$rootbak bs=16b seek=1 skip=1 \
                        conv=noerror,sync
                echo "copying /dev/r$rootdev to /dev/r$rootbak"
                dd if=/dev/r$rootdev of=/dev/r$rootbak bs=16b seek=1 skip=1 \
                        conv=noerror,sync
@@ -147,7 +124,7 @@ echo ""
 echo "Checking subsystem status:"
 echo ""
 echo "disks:"
 echo "Checking subsystem status:"
 echo ""
 echo "disks:"
-df -k
+env BLOCKSIZE=1k df
 echo ""
 dump W
 echo ""
 echo ""
 dump W
 echo ""
@@ -184,4 +161,4 @@ if [ -f /etc/Distfile ]; then
        fi
 fi
 
        fi
 fi
 
-sh /etc/security | mail -s "daily insecurity output" root
+sh /etc/security 2>&1 | mail -s "$host daily insecurity output" root