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