GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
PERIODIC(8) FreeBSD System Manager's Manual PERIODIC(8)

periodic
run periodic system functions

periodic daily|weekly|monthly|security|directory ...

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:

Perform the standard daily periodic executable run. This usually occurs early in the morning (local time).
Perform the standard weekly periodic executable run. This usually occurs very early on Saturday mornings.
Perform the standard monthly periodic executable run. This usually occurs on the first day of the month.
Perform the standard daily security checks. This is usually spawned by the daily run.
directory
An arbitrary directory containing a set of executables 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 directories 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 executable 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 controls 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 directory 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 ‘/’ character), 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_show_empty_output is set to “NO”, then no mail will be sent if the output was empty.

If ⟨basedir_output is not set or is empty, output is sent to standard output.

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 configuring its own appropriate environment.

/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, monthly, and security subdirectories which contain standard system periodic executables
/etc/defaults/periodic.conf
the periodic.conf system registry contains variables that control the behaviour of periodic and the standard daily, weekly, monthly, and security scripts
/etc/periodic.conf
this file contains local overrides for the default periodic configuration

Exit status is 0 on success and 1 if the command fails.

The system crontab should have entries for periodic similar to the following example:
# do daily/weekly/monthly maintenance
0      2       *       *       *       root    periodic daily
0      3       *       *       6       root    periodic weekly
0      5       1       *       *       root    periodic monthly

The /etc/defaults/periodic.conf system registry will typically have a local_periodic variable reading:

local_periodic="/usr/local/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

The command may fail for one of the following reasons:
usage: periodic <directory of files to execute>
No directory path argument was passed to periodic to specify where the script fragments reside.
<directory> not found
Self explanatory.

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

The periodic utility first appeared in FreeBSD 3.0.

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

Since one specifies information about a directory using shell variables containing the string, ⟨basedir⟩, ⟨basedir⟩ must only contain characters that are valid within a sh(1) variable name, alphanumerics and underscores, and the first character may not be numeric.
June 18, 2020 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 8 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.