periodic(8)

NAME

periodic - run periodic system functions

SYNOPSIS

periodic directory ...

DESCRIPTION

The periodic utility is intended to be called by cron(8) to
execute shell
scripts located in the specified directory.
One or more of the following arguments must be specified:
daily Perform the standard daily periodic executable
run. This
usually occurs early in the morning (local
time).
weekly Perform the standard weekly periodic executable
run. This
usually occurs on Sunday mornings.
monthly Perform the standard monthly periodic exe
cutable run. This
usually occurs on the first day of the month.
security Perform the standard daily security checks.
This is usually
spawned by the daily run.
path An arbitrary directory containing a set of exe
cutables to be
run.
If an argument is an absolute directory name it is used as
is, otherwise
it is searched for under /etc/periodic and any other direc
tories specified by the local_periodic setting in periodic.conf(5) (see
below).
The periodic utility will run each executable file in the
directory or
directories specified. If a file does not have the exe
cutable bit set,
it is silently ignored.
Each script is required to exit with one of the following
values:
0 The script has produced nothing notable in its output.
The
<basedir>_show_success variable controls the masking
of this output.
1 The script has produced some notable information in
its output.
The <basedir>_show_info variable controls the masking
of this output.
2 The script has produced some warnings due to invalid
configuration
settings. The <basedir>_show_badconfig variable con
trols the masking of this output.
>2 The script has produced output that must not be
masked.
If the relevant variable (where <basedir> is the base direc
tory in which
the script resides) is set to ``NO'' in periodic.conf,
periodic will mask
the script output. If the variable is not set to either
``YES'' or
``NO'', it will be given a default value as described in
periodic.conf(5).
All remaining script output is delivered based on the value
of the
<basedir>_output setting.
If this is set to a path name (beginning with a `/' charac
ter), output is
simply logged to that file. newsyslog(8) knows about the
files
/var/log/daily.log, /var/log/weekly.log and
/var/log/monthly.log, and if
they exist, it will rotate them at the appropriate times.
These are
therefore good values if you wish to log periodic output.
If the <basedir>_output value does not begin with a `/' and
is not empty,
it is assumed to contain a list of email addresses, and the
output is
mailed to them.
If <basedir>_output is not set or is empty, output is sent
to standard
output.

ENVIRONMENT

The periodic utility sets the PATH environment to include
all standard
system directories, but no additional directories, such as
/usr/local/bin. If executables are added which depend upon
other path
components, each executable must be responsible for config
uring its own
appropriate environment.

FILES

/etc/crontab the periodic utility is
typically called
via entries in the system
default
cron(8) table
/etc/periodic the top level directory
containing
daily, weekly, and monthly
subdirectories which contain standard
system periodic executables
/etc/defaults/periodic.conf the periodic.conf system
registry con
tains variables that con
trol the
behaviour of periodic and
the standard
daily, weekly, and monthly
scripts
/etc/periodic.conf this file contains local
overrides for
the default periodic con
figuration
EXIT STATUS
Exit status is 0 on success and 1 if the command fails.

EXAMPLES

The system crontab should have entries for periodic similar
to the following example:

# do daily/weekly/monthly maintenance
0 2 * * * root period
ic daily
0 3 * * 6 root period
ic weekly
0 5 1 * * root period
ic monthly
The /etc/defaults/periodic.conf system registry will typi
cally have a
local_periodic variable reading:

local_periodic="/usr/local/etc/periodic
/usr/X11R6/etc/periodic"
To log periodic output instead of receiving it as email, add
the following lines to /etc/periodic.conf:

daily_output=/var/log/daily.log
weekly_output=/var/log/weekly.log
monthly_output=/var/log/monthly.log
To only see important information from daily periodic jobs,
add the following lines to /etc/periodic.conf:

daily_show_success=NO
daily_show_info=NO
daily_show_badconfig=NO

DIAGNOSTICS

The command may fail for one of the following reasons:

usage: periodic <directory of files to execute> No directo
ry path argument was passed to periodic to specify where the script
fragments reside.
<directory> not found Self explanatory.

SEE ALSO

sh(1), crontab(5), periodic.conf(5), cron(8), newsyslog(8)

HISTORY

The periodic utility first appeared in FreeBSD 3.0.

AUTHORS

Paul Traina <pst@FreeBSD.org>
Brian Somers <brian@Awfulhak.org>

BUGS

Since one specifies information about a directory using
shell variables
containing the string, <basedir>, <basedir> must only con
tain characters
that are valid within a sh(1) variable name, alphanumerics
and underscores, and the first character may not be numeric.
BSD November 28, 2001
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout