readdir now returns an eof indication
[unix-history] / usr / src / etc / daily
CommitLineData
50ead405
KB
1#!/bin/sh -
2#
769e66cb 3# @(#)daily 5.5 (Berkeley) %G%
50ead405 4#
a5e33523 5PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local
50ead405
KB
6host=`hostname -s`
7echo "Subject: $host daily run output"
8bak=/var/backups
9
10echo ""
11echo "Removing scratch and junk files:"
12if [ -d /tmp ]; then
769e66cb 13 cd /tmp && {
50ead405 14 find . ! -name . -atime +3 -exec rm -f {} \;
769e66cb 15 find . ! -name . -type d -mtime +1 -exec rmdir {} \; >/dev/null 2>&1; }
50ead405
KB
16fi
17
769e66cb
MK
18if [ -d /var/tmp ]; then
19 cd /var/tmp && {
20 find . ! -name . -atime +7 -exec rm -f {} \;
21 find . ! -name . -type d -mtime +1 -exec rmdir {} \; >/dev/null 2>&1; }
22fi
50ead405
KB
23
24if [ -d /scratch ]; then
769e66cb 25 cd /scratch && {
50ead405 26 find . ! -name . -atime +1 -exec rm -f {} \;
769e66cb 27 find . ! -name . -type d -mtime +1 -exec rmdir {} \; >/dev/null 2>&1; }
50ead405
KB
28fi
29
30if [ -d /var/preserve ]; then
769e66cb
MK
31 cd /var/preserve && {
32 find . ! -name . -mtime +7 -exec rm -f {} \; ; }
50ead405
KB
33fi
34
a5e33523 35if [ -d /var/rwho ] ; then
769e66cb
MK
36 cd /var/rwho && {
37 find . ! -name . -mtime +7 -exec rm -f {} \; ; }
50ead405
KB
38fi
39
769e66cb 40cd /tmp
50ead405
KB
41find / \( -name '[#,]*' -o -name '.#*' -o -name a.out -o -name core \
42 -o -name '*.CKP' -o -name '.emacs_[0-9]*' \) \
43 -a -atime +3 -exec rm -f {} \;
44msgs -c
769e66cb
MK
45if [ -f /etc/news.expire ]; then
46 /etc/news.expire
50ead405
KB
47fi
48
49echo ""
50echo "Purging accounting records:"
769e66cb
MK
51mv /var/account/acct.2 /var/account/acct.3
52mv /var/account/acct.1 /var/account/acct.2
53mv /var/account/acct.0 /var/account/acct.1
54cp /var/account/acct /var/account/acct.0
50ead405
KB
55sa -s > /dev/null
56
57echo ""
58echo "Backup passwd and group files:"
59if cmp $bak/master.passwd.bak /etc/master.passwd >/dev/null; then :; else
60 echo "$host passwd diffs:"
61 diff $bak/master.passwd.bak /etc/master.passwd
62 mv $bak/master.passwd.bak $bak/master.passwd.bak2
63 cp -p /etc/master.passwd $bak/master.passwd.bak
50ead405
KB
64fi
65if cmp $bak/group.bak /etc/group >/dev/null; then :; else
66 mv $bak/group.bak $bak/group.bak2
67 cp -p /etc/group $bak/group.bak
68fi
769e66cb
MK
69if cmp $bak/aliases.bak /etc/aliases >/dev/null; then :; else
70 mv $bak/aliases.bak $bak/aliases.bak2
71 cp -p /etc/aliases $bak/aliases.bak
72fi
50ead405
KB
73if [ -f /etc/Distfile ]; then
74 if cmp $bak/Distfile.bak /etc/Distfile >/dev/null; then :; else
75 mv $bak/Distfile.bak $bak/Distfile.bak2
76 cp /etc/Distfile $bak/Distfile.bak
77 fi
78fi
79
80echo ""
81echo "Running calendar:"
769e66cb 82calendar -a
50ead405
KB
83
84echo ""
a5e33523 85echo "Rotating mail log:"
bfcd9b95 86cd /var/log
a5e33523
KB
87rm -f maillog.7
88if [ -f maillog.6 ]; then mv -f maillog.6 maillog.7; fi
89if [ -f maillog.5 ]; then mv -f maillog.5 maillog.6; fi
90if [ -f maillog.4 ]; then mv -f maillog.4 maillog.5; fi
91if [ -f maillog.3 ]; then mv -f maillog.3 maillog.4; fi
92if [ -f maillog.2 ]; then mv -f maillog.2 maillog.3; fi
93if [ -f maillog.1 ]; then mv -f maillog.1 maillog.2; fi
94if [ -f maillog.0 ]; then mv -f maillog.0 maillog.1; fi
95mv -f maillog maillog.0
96cp /dev/null maillog
97chmod 644 maillog
38b4360e 98kill -1 `cat /var/run/syslog.pid`
50ead405
KB
99cd /
100
769e66cb 101if [ -d /var/spool/uucp -a -f /etc/uuclean.daily ]; then
50ead405
KB
102 echo ""
103 echo "Cleaning up UUCP:"
769e66cb 104 echo /etc/uuclean.daily | su daemon
50ead405
KB
105fi
106
107echo ""
108echo ""
109echo "Checking subsystem status:"
110echo ""
111echo "disks:"
112df
113echo ""
114dump W
115echo ""
50ead405
KB
116
117
118echo ""
119echo "mail:"
120mailq
121
122if [ -d /var/spool/uucp ]; then
123 echo ""
124 echo "uucp:"
125 uusnap
126fi
127
128echo ""
129echo "network:"
130netstat -i
131echo ""
132ruptime
133
134echo ""
135echo "SECURITY CHECKS:"
136echo ""
137echo "checking setuid files in root filesystem:"
138ncheck -s `awk -F: '$2=="/" {print $1}' /etc/fstab` | grep -v ' /dev/' \
139 > $bak/check.today
140chmod 400 $bak/check.today
141if [ -f $bak/check.yesterday ]
142then
143 if diff $bak/check.today $bak/check.yesterday > /tmp/dif; then :; else
144 echo "*** New setuid files in root filesystem:"
145 cat /tmp/dif
146 mv $bak/check.today $bak/check.yesterday
147 fi
148 rm /tmp/dif
149else
150 cat $bak/check.today
151 mv $bak/check.today $bak/check.yesterday
152fi
153echo ""
154echo "checking for uids of 0:"
155awk 'BEGIN {FS=":"} $3=="0" {print $1,$3}' /etc/master.passwd
156
a5e33523
KB
157echo ""
158echo "Checking filesystems:"
159fsck -n | grep -v '^\*\* Phase'
160
50ead405
KB
161echo ""
162if [ -f /etc/Distfile ]; then
163 echo "Running rdist:"
164 rdist -f /etc/Distfile
165fi