Commit | Line | Data |
---|---|---|
50ead405 KB |
1 | #!/bin/sh - |
2 | # | |
769e66cb | 3 | # @(#)daily 5.5 (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 | |
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 |
16 | fi |
17 | ||
769e66cb MK |
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 | |
50ead405 KB |
23 | |
24 | if [ -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 |
28 | fi |
29 | ||
30 | if [ -d /var/preserve ]; then | |
769e66cb MK |
31 | cd /var/preserve && { |
32 | find . ! -name . -mtime +7 -exec rm -f {} \; ; } | |
50ead405 KB |
33 | fi |
34 | ||
a5e33523 | 35 | if [ -d /var/rwho ] ; then |
769e66cb MK |
36 | cd /var/rwho && { |
37 | find . ! -name . -mtime +7 -exec rm -f {} \; ; } | |
50ead405 KB |
38 | fi |
39 | ||
769e66cb | 40 | cd /tmp |
50ead405 KB |
41 | find / \( -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 {} \; | |
44 | msgs -c | |
769e66cb MK |
45 | if [ -f /etc/news.expire ]; then |
46 | /etc/news.expire | |
50ead405 KB |
47 | fi |
48 | ||
49 | echo "" | |
50 | echo "Purging accounting records:" | |
769e66cb MK |
51 | mv /var/account/acct.2 /var/account/acct.3 |
52 | mv /var/account/acct.1 /var/account/acct.2 | |
53 | mv /var/account/acct.0 /var/account/acct.1 | |
54 | cp /var/account/acct /var/account/acct.0 | |
50ead405 KB |
55 | sa -s > /dev/null |
56 | ||
57 | echo "" | |
58 | echo "Backup passwd and group files:" | |
59 | if 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 |
64 | fi |
65 | if 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 | |
68 | fi | |
769e66cb MK |
69 | if 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 | |
72 | fi | |
50ead405 KB |
73 | if [ -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 | |
78 | fi | |
79 | ||
80 | echo "" | |
81 | echo "Running calendar:" | |
769e66cb | 82 | calendar -a |
50ead405 KB |
83 | |
84 | echo "" | |
a5e33523 | 85 | echo "Rotating mail log:" |
bfcd9b95 | 86 | cd /var/log |
a5e33523 KB |
87 | rm -f maillog.7 |
88 | if [ -f maillog.6 ]; then mv -f maillog.6 maillog.7; fi | |
89 | if [ -f maillog.5 ]; then mv -f maillog.5 maillog.6; fi | |
90 | if [ -f maillog.4 ]; then mv -f maillog.4 maillog.5; fi | |
91 | if [ -f maillog.3 ]; then mv -f maillog.3 maillog.4; fi | |
92 | if [ -f maillog.2 ]; then mv -f maillog.2 maillog.3; fi | |
93 | if [ -f maillog.1 ]; then mv -f maillog.1 maillog.2; fi | |
94 | if [ -f maillog.0 ]; then mv -f maillog.0 maillog.1; fi | |
95 | mv -f maillog maillog.0 | |
96 | cp /dev/null maillog | |
97 | chmod 644 maillog | |
38b4360e | 98 | kill -1 `cat /var/run/syslog.pid` |
50ead405 KB |
99 | cd / |
100 | ||
769e66cb | 101 | if [ -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 |
105 | fi |
106 | ||
107 | echo "" | |
108 | echo "" | |
109 | echo "Checking subsystem status:" | |
110 | echo "" | |
111 | echo "disks:" | |
112 | df | |
113 | echo "" | |
114 | dump W | |
115 | echo "" | |
50ead405 KB |
116 | |
117 | ||
118 | echo "" | |
119 | echo "mail:" | |
120 | mailq | |
121 | ||
122 | if [ -d /var/spool/uucp ]; then | |
123 | echo "" | |
124 | echo "uucp:" | |
125 | uusnap | |
126 | fi | |
127 | ||
128 | echo "" | |
129 | echo "network:" | |
130 | netstat -i | |
131 | echo "" | |
132 | ruptime | |
133 | ||
134 | echo "" | |
135 | echo "SECURITY CHECKS:" | |
136 | echo "" | |
137 | echo "checking setuid files in root filesystem:" | |
138 | ncheck -s `awk -F: '$2=="/" {print $1}' /etc/fstab` | grep -v ' /dev/' \ | |
139 | > $bak/check.today | |
140 | chmod 400 $bak/check.today | |
141 | if [ -f $bak/check.yesterday ] | |
142 | then | |
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 | |
149 | else | |
150 | cat $bak/check.today | |
151 | mv $bak/check.today $bak/check.yesterday | |
152 | fi | |
153 | echo "" | |
154 | echo "checking for uids of 0:" | |
155 | awk 'BEGIN {FS=":"} $3=="0" {print $1,$3}' /etc/master.passwd | |
156 | ||
a5e33523 KB |
157 | echo "" |
158 | echo "Checking filesystems:" | |
159 | fsck -n | grep -v '^\*\* Phase' | |
160 | ||
50ead405 KB |
161 | echo "" |
162 | if [ -f /etc/Distfile ]; then | |
163 | echo "Running rdist:" | |
164 | rdist -f /etc/Distfile | |
165 | fi |