Commit | Line | Data |
---|---|---|
50ead405 KB |
1 | #!/bin/sh - |
2 | # | |
32e3fbdd | 3 | # @(#)daily 5.16 (Berkeley) %G% |
50ead405 | 4 | # |
cf6b3d72 | 5 | PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin |
32e3fbdd | 6 | host=`hostname` |
50ead405 KB |
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 && { |
64313928 KB |
14 | find . -type f -atime +3 -exec rm -f -- {} \; |
15 | find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \ | |
16 | >/dev/null 2>&1; } | |
50ead405 KB |
17 | fi |
18 | ||
cf6b3d72 | 19 | if [ -d /var/tmp -a "X$CLEANVARTMP" = X1 ]; then |
769e66cb | 20 | cd /var/tmp && { |
64313928 KB |
21 | find . ! -name . -atime +7 -exec rm -f -- {} \; |
22 | find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \ | |
23 | >/dev/null 2>&1; } | |
769e66cb | 24 | fi |
50ead405 KB |
25 | |
26 | if [ -d /scratch ]; then | |
769e66cb | 27 | cd /scratch && { |
64313928 KB |
28 | find . ! -name . -atime +1 -exec rm -f -- {} \; |
29 | find . ! -name . -type d -mtime +1 -exec rmdir -- {} \; \ | |
30 | >/dev/null 2>&1; } | |
50ead405 KB |
31 | fi |
32 | ||
33 | if [ -d /var/preserve ]; then | |
769e66cb | 34 | cd /var/preserve && { |
64313928 | 35 | find . ! -name . -mtime +7 -exec rm -f -- {} \; ; } |
50ead405 KB |
36 | fi |
37 | ||
a5e33523 | 38 | if [ -d /var/rwho ] ; then |
769e66cb | 39 | cd /var/rwho && { |
64313928 | 40 | find . ! -name . -mtime +7 -exec rm -f -- {} \; ; } |
50ead405 KB |
41 | fi |
42 | ||
769e66cb | 43 | cd /tmp |
4c26b6af KB |
44 | TMP=daily.$$ |
45 | find / \( ! -fstype local -o -fstype rdonly \) -a -prune -o \ | |
46 | -name 'core.*' -a -print -o \ | |
47 | \( -name '[#,]*' -o -name '.#*' -o -name a.out \ | |
50ead405 | 48 | -o -name '*.CKP' -o -name '.emacs_[0-9]*' \) \ |
4c26b6af KB |
49 | -a -atime +3 -a -exec rm -f -- {} \; -a -print > $TMP |
50 | echo "" | |
51 | echo "Core dumps:" | |
52 | egrep 'core\.' $TMP | |
53 | ||
54 | echo "" | |
55 | echo "Deleted files:" | |
56 | egrep -v 'core\.' $TMP | |
57 | ||
58 | rm -f $TMP | |
59 | ||
50ead405 | 60 | msgs -c |
769e66cb MK |
61 | if [ -f /etc/news.expire ]; then |
62 | /etc/news.expire | |
50ead405 KB |
63 | fi |
64 | ||
65 | echo "" | |
66 | echo "Purging accounting records:" | |
769e66cb MK |
67 | mv /var/account/acct.2 /var/account/acct.3 |
68 | mv /var/account/acct.1 /var/account/acct.2 | |
69 | mv /var/account/acct.0 /var/account/acct.1 | |
70 | cp /var/account/acct /var/account/acct.0 | |
50ead405 KB |
71 | sa -s > /dev/null |
72 | ||
73 | echo "" | |
74 | echo "Backup passwd and group files:" | |
997d5406 | 75 | if cmp -s $bak/master.passwd.bak /etc/master.passwd; then :; else |
50ead405 KB |
76 | echo "$host passwd diffs:" |
77 | diff $bak/master.passwd.bak /etc/master.passwd | |
78 | mv $bak/master.passwd.bak $bak/master.passwd.bak2 | |
79 | cp -p /etc/master.passwd $bak/master.passwd.bak | |
50ead405 | 80 | fi |
997d5406 | 81 | if cmp -s $bak/group.bak /etc/group; then :; else |
50ead405 KB |
82 | mv $bak/group.bak $bak/group.bak2 |
83 | cp -p /etc/group $bak/group.bak | |
84 | fi | |
997d5406 | 85 | if cmp -s $bak/aliases.bak /etc/aliases; then :; else |
769e66cb MK |
86 | mv $bak/aliases.bak $bak/aliases.bak2 |
87 | cp -p /etc/aliases $bak/aliases.bak | |
88 | fi | |
50ead405 | 89 | if [ -f /etc/Distfile ]; then |
997d5406 | 90 | if cmp -s $bak/Distfile.bak /etc/Distfile; then :; else |
50ead405 KB |
91 | mv $bak/Distfile.bak $bak/Distfile.bak2 |
92 | cp /etc/Distfile $bak/Distfile.bak | |
93 | fi | |
94 | fi | |
95 | ||
cf6b3d72 MK |
96 | # If ROOTBACKUP is set to 1 in the environment, and |
97 | # if filesystem named /altroot is type ufs, on /dev/* and mounted "xx", | |
4c26b6af | 98 | # use it as a backup root filesystem to be updated daily. |
cf6b3d72 | 99 | [ "X$ROOTBACKUP" = X1 ] && { |
4c26b6af KB |
100 | rootdev=`awk '$2 == "/" && $1 ~ /^\/dev\// && $3 == "ufs" && \ |
101 | $4 == "rw" \ | |
102 | { print substr($1, 6) }' < /etc/fstab` | |
103 | rootbak=`awk '$2 == "/altroot" && $1 ~ /^\/dev\// && $3 == "ufs" && \ | |
104 | $4 == "xx" \ | |
105 | { print substr($1, 6) }' < /etc/fstab` | |
106 | [ X$rootdev != X -a X$rootbak != X ] && { | |
107 | sync | |
cf6b3d72 MK |
108 | echo "" |
109 | echo "Backing up root filesystem:" | |
4c26b6af KB |
110 | echo "copying /dev/r$rootdev to /dev/r$rootbak" |
111 | dd if=/dev/r$rootdev of=/dev/r$rootbak bs=16b seek=1 skip=1 \ | |
112 | conv=noerror,sync | |
113 | fsck -y /dev/r$rootbak | |
114 | } | |
115 | } | |
116 | ||
50ead405 KB |
117 | echo "" |
118 | echo "Running calendar:" | |
769e66cb | 119 | calendar -a |
50ead405 KB |
120 | |
121 | echo "" | |
a5e33523 | 122 | echo "Rotating mail log:" |
bfcd9b95 | 123 | cd /var/log |
a5e33523 KB |
124 | rm -f maillog.7 |
125 | if [ -f maillog.6 ]; then mv -f maillog.6 maillog.7; fi | |
126 | if [ -f maillog.5 ]; then mv -f maillog.5 maillog.6; fi | |
127 | if [ -f maillog.4 ]; then mv -f maillog.4 maillog.5; fi | |
128 | if [ -f maillog.3 ]; then mv -f maillog.3 maillog.4; fi | |
129 | if [ -f maillog.2 ]; then mv -f maillog.2 maillog.3; fi | |
130 | if [ -f maillog.1 ]; then mv -f maillog.1 maillog.2; fi | |
131 | if [ -f maillog.0 ]; then mv -f maillog.0 maillog.1; fi | |
132 | mv -f maillog maillog.0 | |
133 | cp /dev/null maillog | |
134 | chmod 644 maillog | |
38b4360e | 135 | kill -1 `cat /var/run/syslog.pid` |
50ead405 KB |
136 | cd / |
137 | ||
769e66cb | 138 | if [ -d /var/spool/uucp -a -f /etc/uuclean.daily ]; then |
50ead405 KB |
139 | echo "" |
140 | echo "Cleaning up UUCP:" | |
769e66cb | 141 | echo /etc/uuclean.daily | su daemon |
50ead405 KB |
142 | fi |
143 | ||
144 | echo "" | |
145 | echo "" | |
146 | echo "Checking subsystem status:" | |
147 | echo "" | |
148 | echo "disks:" | |
6963fcdd | 149 | df -k |
50ead405 KB |
150 | echo "" |
151 | dump W | |
152 | echo "" | |
50ead405 KB |
153 | |
154 | ||
155 | echo "" | |
156 | echo "mail:" | |
157 | mailq | |
158 | ||
159 | if [ -d /var/spool/uucp ]; then | |
160 | echo "" | |
161 | echo "uucp:" | |
162 | uusnap | |
163 | fi | |
164 | ||
165 | echo "" | |
166 | echo "network:" | |
167 | netstat -i | |
168 | echo "" | |
169 | ruptime | |
170 | ||
a5e33523 KB |
171 | echo "" |
172 | echo "Checking filesystems:" | |
173 | fsck -n | grep -v '^\*\* Phase' | |
174 | ||
50ead405 KB |
175 | echo "" |
176 | if [ -f /etc/Distfile ]; then | |
177 | echo "Running rdist:" | |
4c26b6af KB |
178 | if [ -d /var/log/rdist ]; then |
179 | logf=`date | awk '{printf "%s.%s.%s", $6, $2, $3}'` | |
180 | rdist -f /etc/Distfile 2>&1 | tee /var/log/rdist/$logf | |
181 | else | |
182 | rdist -f /etc/Distfile | |
183 | fi | |
50ead405 | 184 | fi |
f6678432 | 185 | |
9833770a | 186 | sh /etc/security 2>&1 | mail -s "$host daily insecurity output" root |