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