daily, weekly, monthly - periodic system maintenance
/etc/daily
/etc/weekly
/etc/monthly
The three files /etc/daily, /etc/weekly, and /etc/monthly
are shell
scripts run on a periodic basis by the clock daemon,
cron(8). They take
care of some basic administrative tasks. The results are
mailed to root.
Note: The scripts are all run as part of root's crontab(5).
However, it
is strongly suggested that the root mail account be an alias
that forwards
messages to a real user or set of users. Otherwise,
root's mail
will simply accumulate in /var/mail until the partition
holding it runs
out of space. See newaliases(8) for further details.
These scripts should not be altered. Local additions should
be made to
the files /etc/daily.local, /etc/weekly.local, and
/etc/monthly.local,
which will be executed by /etc/daily, /etc/weekly, and
/etc/monthly, respectively.
The *.local files are executed first, which
makes it convenient
to do any necessary cleanup and backup before the
script is run.
/etc/daily
This script is run daily. It currently does the following:
- Runs the script /etc/daily.local, if it exists.
- Removes scratch and junk files from /tmp and /var/tmp.
- Removes stale files from the rwhod(8) database.
- Checks for core dumps.
- Removes system messages older than 21 days for the msgs(1) utility.
- Purges accounting records from /var/account, if they exist. See
accton(8) and sa(8).
- Creates a backup root file system which is updated daily. This only
happens if the following conditions are met:
1. ROOTBACKUP must be set to 1. It should be
added to root's
crontab(5):
ROOTBACKUP=1
2. The mount directory /altroot must exist, and
there must be
an /etc/fstab entry specifying `xx' for the
mount options,
e.g.
/dev/wd0j /altroot ffs xx 0 0
- Checks disk status. Reports on the amount of disk
used/available via
df(1). Reports on which file systems need to be dumped
via dump(8).
- Reports on the status of the mail queue via mailq(8).
- Reports networking statistics via netstat(1).
- Gives an uptime for every machine which exists in
/var/rwho, via the
ruptime(1) utility.
- Runs the calendar(1) utility unless the environment
variable CALENDAR
is set to 0 in root's crontab(5) or the host is a yp(8)
client.
- If CHECKFILESYSTEMS is set to 1 in root's crontab, runs
fsck(8) with
the no-write flag (-n).
- If the file /etc/Distfile exists, runs the rdist(1)
utility.
- Runs the system security check script, /etc/security.
See
security(8) for further details.
/etc/weekly
This script is run weekly. It currently does the following:
- Runs the script /etc/weekly.local, if it exists.
- Rebuilds the locate(1) database, if there is an existing
/var/db/locate.database file.
- Rebuilds the whatis(1) database(s) via makewhatis(8).
/etc/monthly
This script is run monthly. It currently does the following:
- Runs the script /etc/monthly.local, if it exists.
CALENDAR Determines whether to run calendar(1).
CHECKFILESYSTEMS Determines whether to run fsck(8) with the
no-write
flag.
ROOTBACKUP Determines whether to make a backup of the
root file
system.
/etc/daily Daily maintenance script.
/etc/daily.local Site specific daily maintenance script.
/etc/weekly Weekly maintenance script.
/etc/weekly.local Site specific weekly maintenance
script.
/etc/monthly Monthly maintenance script.
/etc/monthly.local Site specific monthly maintenance
script.
/var/cron/tabs/root Root crontab(5).
calendar(1), crontab(1), df(1), locate(1), msgs(1), netstat(1), rdist(1),
ruptime(1), rwho(1), whatis(1), crontab(5), accton(8),
cron(8), dump(8),
fsck(8), mailq(8), makewhatis(8), sa(8), security(8), yp(8)
This manual page first appeared in OpenBSD 3.4.
If the host machine is not running 24/7, these scripts may
never be run.
The `@reboot' field in crontab(5) may partially alleviate
this problem.
Be careful when adding local additions. Services such as
"www" have
their own users, and should be run as such, not as root. It
may be more
appropriate to create a separate crontab(5) for such services.
OpenBSD 3.6 July 25, 2003
[ Back ] |