Commit | Line | Data |
---|---|---|
50ead405 KB |
1 | #!/bin/sh - |
2 | # | |
a5e33523 | 3 | # @(#)daily 5.4 (Berkeley) %G% |
50ead405 | 4 | # |
a5e33523 | 5 | PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local |
50ead405 KB |
6 | host=`hostname -s` |
7 | echo "Subject: $host daily run output" | |
8 | bak=/var/backups | |
9 | ||
10 | echo "" | |
11 | echo "Removing scratch and junk files:" | |
12 | if [ -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 | |
16 | fi | |
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 | ||
24 | if [ -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 | |
28 | fi | |
29 | ||
30 | if [ -d /var/preserve ]; then | |
31 | cd /var/preserve | |
32 | find . ! -name . -mtime +7 -exec rm -f {} \; | |
33 | fi | |
34 | ||
a5e33523 KB |
35 | if [ -d /var/rwho ] ; then |
36 | cd /var/rwho | |
37 | find . ! -name . -mtime +7 -exec rm -f {} \; | |
50ead405 KB |
38 | fi |
39 | ||
40 | find / \( -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 {} \; | |
43 | msgs -c | |
44 | if [ -f /usr/new/lib/news/expire ]; then | |
45 | /usr/new/lib/news/expire | |
46 | fi | |
47 | ||
48 | echo "" | |
49 | echo "Purging accounting records:" | |
50 | cp /var/account/acct /var/account/acct.yesterday | |
51 | sa -s > /dev/null | |
52 | ||
53 | echo "" | |
54 | echo "Backup passwd and group files:" | |
55 | if 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 | |
61 | fi | |
62 | if 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 | |
65 | fi | |
66 | if [ -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 | |
71 | fi | |
72 | ||
73 | echo "" | |
74 | echo "Running calendar:" | |
75 | calendar - | |
76 | ||
77 | echo "" | |
a5e33523 | 78 | echo "Rotating mail log:" |
bfcd9b95 | 79 | cd /var/log |
a5e33523 KB |
80 | rm -f maillog.7 |
81 | if [ -f maillog.6 ]; then mv -f maillog.6 maillog.7; fi | |
82 | if [ -f maillog.5 ]; then mv -f maillog.5 maillog.6; fi | |
83 | if [ -f maillog.4 ]; then mv -f maillog.4 maillog.5; fi | |
84 | if [ -f maillog.3 ]; then mv -f maillog.3 maillog.4; fi | |
85 | if [ -f maillog.2 ]; then mv -f maillog.2 maillog.3; fi | |
86 | if [ -f maillog.1 ]; then mv -f maillog.1 maillog.2; fi | |
87 | if [ -f maillog.0 ]; then mv -f maillog.0 maillog.1; fi | |
88 | mv -f maillog maillog.0 | |
89 | cp /dev/null maillog | |
90 | chmod 644 maillog | |
38b4360e | 91 | kill -1 `cat /var/run/syslog.pid` |
50ead405 KB |
92 | cd / |
93 | ||
94 | if [ -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 | |
98 | fi | |
99 | ||
100 | echo "" | |
101 | echo "" | |
102 | echo "Checking subsystem status:" | |
103 | echo "" | |
104 | echo "disks:" | |
105 | df | |
106 | echo "" | |
107 | dump W | |
108 | echo "" | |
50ead405 KB |
109 | |
110 | ||
111 | echo "" | |
112 | echo "mail:" | |
113 | mailq | |
114 | ||
115 | if [ -d /var/spool/uucp ]; then | |
116 | echo "" | |
117 | echo "uucp:" | |
118 | uusnap | |
119 | fi | |
120 | ||
121 | echo "" | |
122 | echo "network:" | |
123 | netstat -i | |
124 | echo "" | |
125 | ruptime | |
126 | ||
127 | echo "" | |
128 | echo "SECURITY CHECKS:" | |
129 | echo "" | |
130 | echo "checking setuid files in root filesystem:" | |
131 | ncheck -s `awk -F: '$2=="/" {print $1}' /etc/fstab` | grep -v ' /dev/' \ | |
132 | > $bak/check.today | |
133 | chmod 400 $bak/check.today | |
134 | if [ -f $bak/check.yesterday ] | |
135 | then | |
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 | |
142 | else | |
143 | cat $bak/check.today | |
144 | mv $bak/check.today $bak/check.yesterday | |
145 | fi | |
146 | echo "" | |
147 | echo "checking for uids of 0:" | |
148 | awk 'BEGIN {FS=":"} $3=="0" {print $1,$3}' /etc/master.passwd | |
149 | ||
a5e33523 KB |
150 | echo "" |
151 | echo "Checking filesystems:" | |
152 | fsck -n | grep -v '^\*\* Phase' | |
153 | ||
50ead405 KB |
154 | echo "" |
155 | if [ -f /etc/Distfile ]; then | |
156 | echo "Running rdist:" | |
157 | rdist -f /etc/Distfile | |
158 | fi |