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