Annotation of src/etc/daily, Revision 1.35.2.1
1.1 deraadt 1: #!/bin/sh -
2: #
1.35.2.1! jason 3: # $OpenBSD: daily,v 1.35 2001/03/06 20:29:48 niklas Exp $
1.17 millert 4: # From: @(#)daily 8.2 (Berkeley) 1/25/94
1.1 deraadt 5: #
1.17 millert 6: PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
1.1 deraadt 7: host=`hostname -s`
1.17 millert 8: bak=/var/backups
1.1 deraadt 9:
1.21 deraadt 10: if [ -f /etc/daily.local ]; then
1.2 david 11: echo ""
12: echo "Running daily.local:"
13: . /etc/daily.local
14: fi
15:
1.16 millert 16: TMP=`mktemp /tmp/_daily.XXXXXX` || exit 1
1.33 marc 17: OUT=`mktemp /tmp/_security.XXXXXX` || exit 1
1.16 millert 18:
1.33 marc 19: trap 'rm -f $TMP $OUT' 0 1 15
1.14 millert 20:
1.1 deraadt 21: echo ""
1.17 millert 22: echo "Removing scratch and junk files:"
1.32 aaron 23: if [ -d /tmp -a ! -L /tmp ]; then
1.17 millert 24: cd /tmp && {
1.31 millert 25: find -x . \( -name 'ssh-*' -o -name '.X11-unix' \) -prune -o \
26: -type f -atime +3 -execdir rm -f -- {} \;
1.28 deraadt 27: find -x . ! -name . -type d -mtime +1 -execdir rmdir -- {} \; \
1.17 millert 28: >/dev/null 2>&1; }
29: fi
1.1 deraadt 30:
1.32 aaron 31: if [ -d /var/tmp -a ! -L /var/tmp ]; then
1.17 millert 32: cd /var/tmp && {
1.31 millert 33: find -x . \( -name 'ssh-*' -o -name '.X11-unix' \) -prune -o \
34: ! -type d -atime +7 -execdir rm -f -- {} \;
1.28 deraadt 35: find -x . ! -name . -type d -mtime +1 -execdir rmdir -- {} \; \
1.17 millert 36: >/dev/null 2>&1; }
37: fi
1.1 deraadt 38:
1.3 deraadt 39: # Additional junk directory cleanup would go like this:
1.32 aaron 40: #if [ -d /scratch -a ! -L /scratch ]; then
1.3 deraadt 41: # cd /scratch && {
1.17 millert 42: # find . ! -name . -atime +1 -execdir rm -f -- {} \;
43: # find . ! -name . -type d -mtime +1 -execdir rmdir -- {} \; \
1.3 deraadt 44: # >/dev/null 2>&1; }
45: #fi
1.1 deraadt 46:
1.32 aaron 47: if [ -d /var/preserve -a ! -L /var/preserve ]; then
1.17 millert 48: cd /var/preserve && {
49: find . ! -name . -mtime +7 -execdir rm -f -- {} \; ; }
50: fi
51:
1.32 aaron 52: if [ -d /var/rwho -a ! -L /var/rwho ] ; then
1.17 millert 53: cd /var/rwho && {
54: find . ! -name . -mtime +7 -execdir rm -f -- {} \; ; }
55: fi
1.1 deraadt 56:
1.24 deraadt 57: #find / \( ! -fstype local -o -fstype rdonly -o -fstype fdesc \
58: # -o -fstype kernfs -o -fstype procfs \) -a -prune -o \
59: # -name 'lost+found' -a -prune -o \
60: # -name '*.core' -a -print -o \
61: # \( -name '[#,]*' -o -name '.#*' -o -name a.out \
62: # -o -name '*.CKP' -o -name '.emacs_[0-9]*' \) \
63: # -a -atime +3 -a -execdir rm -f -- {} \; -a -print > $TMP
1.1 deraadt 64:
1.14 millert 65: if egrep -q '\.core$' $TMP; then
1.17 millert 66: echo ""
67: echo "Possible core dumps:"
68: egrep '\.core$' $TMP
69: fi
70:
71: if egrep -qv '\.core$' $TMP; then
72: echo ""
73: echo "Deleted files:"
74: egrep -v '\.core$' $TMP
1.14 millert 75: fi
1.1 deraadt 76:
1.26 downsj 77: if [ -d /var/msgs -a ! -L /var/msgs ]; then
78: msgs -c
79: fi
1.1 deraadt 80:
1.17 millert 81: if [ -s /etc/news.expire ]; then
1.1 deraadt 82: /etc/news.expire
83: fi
84:
85: if [ -f /var/account/acct ]; then
1.17 millert 86: echo ""
87: echo "Purging accounting records:"
88: mv /var/account/acct.2 /var/account/acct.3
89: mv /var/account/acct.1 /var/account/acct.2
90: mv /var/account/acct.0 /var/account/acct.1
91: cp /var/account/acct /var/account/acct.0
92: sa -sq
93: fi
94:
95: # If ROOTBACKUP is set to 1 in the environment, and
96: # if filesystem named /altroot is type ffs, on /dev/* and mounted "xx",
97: # use it as a backup root filesystem to be updated daily.
98: [ "X$ROOTBACKUP" = X1 ] && {
99: rootdev=`awk '$2 == "/" && $1 ~ /^\/dev\// && $3 == "ffs" && \
1.29 todd 100: $4 ~ /rw/ \
1.17 millert 101: { print substr($1, 6) }' < /etc/fstab`
102: rootbak=`awk '$2 == "/altroot" && $1 ~ /^\/dev\// && $3 == "ffs" && \
1.29 todd 103: $4 ~ /xx/ \
1.17 millert 104: { print substr($1, 6) }' < /etc/fstab`
105: [ X$rootdev != X -a X$rootbak != X ] && {
106: sync
107: echo ""
108: echo "Backing up root filesystem:"
109: echo "copying /dev/r$rootdev to /dev/r$rootbak"
110: dd if=/dev/r$rootdev of=/dev/r$rootbak bs=16b seek=1 skip=1 \
1.22 mickey 111: conv=noerror
1.17 millert 112: fsck -y /dev/r$rootbak
113: }
114: }
1.1 deraadt 115:
116: echo ""
1.18 millert 117: if [ -d /var/yp/binding -a ! -d /var/yp/`domainname` -o "X$CALENDAR" = X0 ]
118: then
119: if [ "X$CALENDAR" = X0 ]; then
120: echo "Not running calendar, (disabled)."
121: else
122: echo "Not running calendar, (yp client)."
123: fi
1.10 deraadt 124: else
1.20 pierre 125: echo "Running calendar in the background."
126: calendar -a &
1.10 deraadt 127: fi
1.1 deraadt 128:
129: # Rotation of mail log now handled automatically by cron and 'newsyslog'
130:
131: if [ -d /var/spool/uucp -a -f /etc/uuclean.daily ]; then
132: echo ""
133: echo "Cleaning up UUCP:"
134: echo /etc/uuclean.daily | su daemon
135: fi
136:
137: echo ""
138: echo "Checking subsystem status:"
139: echo ""
140: echo "disks:"
141: df -k
142: echo ""
143: dump W
144: echo ""
145:
1.15 millert 146: mailq > $TMP
1.34 angelos 147: if ! grep -q "^/var/spool/mqueue is empty$" $TMP; then
1.15 millert 148: echo ""
149: echo "mail:"
150: cat $TMP
151: fi
1.1 deraadt 152:
153: if [ -d /var/spool/uucp ]; then
1.35.2.1! jason 154: echo uustat -a | su -m uucp > $TMP
1.15 millert 155: if [ -s $TMP ]; then
156: echo ""
157: echo "uucp:"
158: cat $TMP
159: fi
1.1 deraadt 160: fi
161:
162: echo ""
163: echo "network:"
1.35 niklas 164: netstat -ivn
1.1 deraadt 165: echo ""
1.14 millert 166:
1.15 millert 167: t=/var/rwho/*
168: if [ "$t" != '/var/rwho/*' ]; then
1.17 millert 169: echo ""
1.14 millert 170: ruptime
171: fi
1.1 deraadt 172:
1.17 millert 173: # If CHECKFILESYSTEMS is set to 1 in the environment, run fsck
174: # with the no-write flag.
175: [ "X$CHECKFILESYSTEMS" = X1 ] && {
176: echo ""
177: echo "Checking filesystems:"
178: fsck -n | grep -v '^\*\* Phase'
179: }
1.1 deraadt 180:
181: if [ -f /etc/Distfile ]; then
1.17 millert 182: echo ""
1.1 deraadt 183: echo "Running rdist:"
1.17 millert 184: if [ -d /var/log/rdist ]; then
1.19 deraadt 185: logf=`date +%Y.%b.%e`
1.17 millert 186: rdist -f /etc/Distfile 2>&1 | tee /var/log/rdist/$logf
187: else
188: rdist -f /etc/Distfile
189: fi
1.1 deraadt 190: fi
191:
1.33 marc 192: sh /etc/security 2>&1 > $OUT
193: if [ -s $OUT ]; then
194: mail -s "$host daily insecurity output" root < $OUT
195: fi