2 .\" Copyright (c) 2000 Brian Somers <brian@Awfulhak.org>
3 .\" All rights reserved.
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\" notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\" notice, this list of conditions and the following disclaimer in the
12 .\" documentation and/or other materials provided with the distribution.
14 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17 .\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 .Nd periodic job configuration information
37 contains a description of how daily, weekly and monthly system maintenance
41 directory and parts may be overridden by a file of the same name in
43 which itself may be overridden by the
44 .Pa /etc/periodic.conf.local
50 is actually sourced as a shell script from each of the periodic scripts
51 and is intended to simply provide default configuration variables.
53 The following variables are used by
56 .Bl -tag -offset 4n -width 2n
59 List of directories to search for periodic scripts.
60 This list is always prefixed with
62 and is only used when an argument to
64 is not an absolute directory name.
65 .It Ao Ar dir Ac Ns Va _output
66 .Pq Vt path No or Vt list
67 What to do with the output of the scripts executed from
70 If this variable is set to an absolute path name, output is logged to
71 that file, otherwise it is taken as one or more space separated email
72 addresses and mailed to those users.
73 If this variable is not set or is empty, output is sent to standard output.
75 For an unattended machine, suitable values for
81 .Dq Li /var/log/daily.log ,
82 .Dq Li /var/log/weekly.log ,
84 .Dq Li /var/log/monthly.log
87 will rotate these files (if they exists) at the appropriate times.
88 .It Ao Ar dir Ac Ns Va _show_success
89 .It Ao Ar dir Ac Ns Va _show_info
90 .It Ao Ar dir Ac Ns Va _show_badconfig
92 These variables control whether
94 will mask the output of the executed scripts based on their return code
97 is the base directory name in which each script resides).
98 If the return code of a script is
101 .Ao Ar dir Ac Ns Va _show_success
105 will mask the script's output.
106 If the return code of a script is
109 .Ao Ar dir Ac Ns Va _show_info
113 will mask the script's output.
114 If the return code of a script is
117 .Ao Ar dir Ac Ns Va _show_badconfig
121 will mask the script's output.
122 If these variables are set to neither
135 manual page for how script return codes are interpreted.
138 The following variables are used by the standard scripts that reside in
139 .Pa /etc/periodic/daily :
140 .Bl -tag -offset 4n -width 2n
141 .It Va daily_clean_disks_enable
145 if you want to remove all files matching
146 .Va daily_clean_disks_files
148 .It Va daily_clean_disks_files
150 Set to a list of file names to match.
151 Wild cards are permitted.
152 .It Va daily_clean_disks_days
155 .Va daily_clean_disks_enable
158 this must also be set to the number of days old that a file's access
159 and modification times must be before it is deleted.
160 .It Va daily_clean_disks_verbose
164 if you want the removed files to be reported in your daily output.
165 .It Va daily_clean_tmps_enable
169 if you want to clear temporary directories daily.
170 .It Va daily_clean_tmps_dirs
172 Set to the list of directories to clear if
173 .Va daily_clean_tmps_enable
176 .It Va daily_clean_tmps_days
179 .Va daily_clean_tmps_enable
180 is set, this must also be set to the number of days old that a file's access
181 and modification times must be before it is deleted.
182 .It Va daily_clean_tmps_ignore
184 Set to the list of files that should not be deleted when
185 .Va daily_clean_tmps_enable
188 Wild card characters are permitted.
189 .It Va daily_clean_tmps_verbose
193 if you want the removed files to be reported in your daily output.
194 .It Va daily_clean_preserve_enable
198 if you wish to remove old files from
200 .It Va daily_clean_preserve_days
202 Set to the number of days that files must not have been modified before
204 .It Va daily_clean_preserve_verbose
208 if you want the removed files to be reported in your daily output.
209 .It Va daily_clean_msgs_enable
213 if you wish old system messages to be purged.
214 .It Va daily_clean_msgs_days
216 Set to the number of days that files must not have been modified before
218 If this variable is left blank, the
221 .It Va daily_clean_rwho_enable
225 if you wish old files in
228 .It Va daily_clean_rwho_days
230 Set to the number of days that files must not have been modified before
232 .It Va daily_clean_rwho_verbose
236 if you want the removed files to be reported in your daily output.
237 .It Va daily_clean_hoststat_enable
243 to automatically purge stale entries from
246 Files will be deleted using the same criteria as
248 would normally use when determining whether to believe the cached information,
250 .Pa /etc/mail/sendmail.cf .
251 .It Va daily_backup_passwd_enable
256 .Pa /etc/master.passwd
259 files backed up and reported on.
260 Reporting consists of checking both files for modifications and running
265 .It Va daily_backup_aliases_enable
270 .Pa /etc/mail/aliases
271 file backed up and modifications to be displayed in your daily output.
272 .It Va daily_calendar_enable
279 .It Va daily_accounting_enable
283 if you want to rotate your daily accounting files.
284 No rotations are necessary unless
285 .Va accounting_enable
288 .It Va daily_accounting_compress
292 if you want your daily accounting files to be compressed using
294 .It Va daily_accounting_save
297 .Va daily_accounting_enable
298 is set, this may also be set to the number of daily accounting files that are
302 .It Va daily_accounting_flags
304 Set to the arguments to pass to the
306 utility (in addition to
309 .Va daily_accounting_enable
314 .It Va daily_news_expire_enable
319 .Pa /etc/news.expire .
320 .It Va daily_status_disks_enable
326 (with the arguments supplied in
327 .Va daily_status_disks_df_flags )
330 .It Va daily_status_disks_df_flags
332 Set to the arguments for the
335 .Va daily_status_disks_enable
338 .It Va daily_status_zfs_enable
347 .It Va daily_status_zfs_zpool_list_enable
357 .Va daily_status_zfs_enable
360 .It Va daily_status_gmirror_enable
365 .Nm gmirror Cm status
369 .It Va daily_status_graid3_enable
378 .It Va daily_status_gstripe_enable
383 .Nm gstripe Cm status
387 .It Va daily_status_gconcat_enable
392 .Nm gconcat Cm status
396 .It Va daily_status_network_enable
402 .It Va daily_status_network_usedns
410 option (to do DNS lookups).
411 .It Va daily_status_rwho_enable
425 .It Va daily_status_mailq_enable
431 .It Va daily_status_mailq_shorten
435 if you want to shorten the
438 .Va daily_status_mailq_enable
441 .It Va daily_status_include_submit_mailq
445 if you also want to run
447 on the submit mail queue when
448 .Va daily_status_mailq_enable
451 This may not work with MTAs other than
453 .It Va daily_status_security_enable
457 if you want to run the security check.
458 The security check is another set of
461 The system defaults are in
462 .Pa /etc/periodic/security .
463 Local scripts should be placed in
464 .Pa /usr/local/etc/periodic/security .
467 manual page for more information.
468 .It Va daily_status_security_inline
472 if you want the security check output inline.
473 The default is to either mail or log the output according to the value of
474 .Va daily_status_security_output .
475 .It Va daily_status_security_output
477 Where to send the output of the security check if
478 .Va daily_status_security_inline
481 This variable behaves in the same way as the
483 variables above, namely it can be set either to one or more email addresses
484 or to an absolute file name.
485 .It Va daily_status_mail_rejects_enable
489 if you want to summarise mail rejections logged to
491 for the previous day.
492 .It Va daily_status_mail_rejects_logs
494 Set to the number of maillog files that should be checked
495 for yesterday's mail rejects.
496 .It Va daily_status_named_enable
500 if you want to summarise denied zone transfers (AXFR and IXFR)
501 for the previous day.
502 .It Va daily_status_named_usedns
506 if you want to enable reverse DNS lookups.
507 .It Va daily_status_ntpd
511 if you want to enable NTP status check.
512 .It Va daily_queuerun_enable
516 if you want to manually run the mail queue at least once a day.
517 .It Va daily_submit_queuerun
521 if you also want to manually run the submit mail queue at least once a day
523 .Va daily_queuerun_enable
526 .It Va daily_scrub_zfs_enable
530 if you want to run a zfs scrub periodically.
531 .It Va daily_scrub_zfs_pools
533 A space separated list of names of zfs pools to scrub.
534 If the list is empty or not set, all zfs pools are scrubbed.
535 .It Va daily_scrub_zfs_default_threshold
537 Number of days between a scrub if no pool-specific threshold is set.
538 If not set, the default value is 35, corresponding to 5 weeks.
539 .It Va daily_scrub_zfs_ Ns Ao Ar poolname Ac Ns Va _threshold
542 .Va daily_scrub_zfs_default_threshold
543 but specific to the pool
544 .Ao Ar poolname Ac Ns .
547 Set to a list of extra scripts that should be run after all other
549 All scripts must be absolute path names.
552 The following variables are used by the standard scripts that reside in
553 .Pa /etc/periodic/weekly :
554 .Bl -tag -offset 4n -width 2n
555 .It Va weekly_locate_enable
560 .Pa /usr/libexec/locate.updatedb .
561 This script is run using
565 and generates the table used by the
568 .It Va weekly_whatis_enable
573 .Pa /usr/libexec/makewhatis.local .
574 This script regenerates the database used by the
577 .It Va weekly_catman_enable
582 .Pa /usr/libexec/catman.local .
583 This script processes all out of date manual pages, speeding up the
585 command at the expense of disk space.
586 .It Va weekly_noid_enable
590 if you want to locate orphaned files on the system.
591 An orphaned file is one with an invalid owner or group.
592 .It Va weekly_noid_dirs
594 A list of directories under which orphaned files are searched for.
595 This would usually be set to
597 .It Va weekly_status_security_enable
599 Weekly counterpart of
600 .Va daily_status_securiy_enable .
601 .It Va weekly_status_security_inline
603 Weekly counterpart of
604 .Va daily_status_securiy_inline .
605 .It Va weekly_status_security_output
607 Weekly counterpart of
608 .Va daily_status_securiy_output .
609 .It Va weekly_status_pkg_enable
615 to list installed packages which are out of date.
619 .Va weekly_status_pkg_enable
622 this variable specifies the program that is used to determine the out of
627 As an example, this variable might be set to
630 .Pa ports/sysutils/portupgrade
631 port has been installed.
632 .It Va pkg_version_index
634 This variable specifies the
638 that should be used by
640 Because the dependency tree may be substantially different between versions of
642 there may be more than one
651 it will also be necessary to arrange that the correct
654 using environment variables and that
655 .Va pkg_version_index
657 .Pa /etc/periodic.conf
658 .Pq Dq Li pkg_version_index= .
661 Set to a list of extra scripts that should be run after all other
663 All scripts must be absolute path names.
666 The following variables are used by the standard scripts that reside in
667 .Pa /etc/periodic/monthly :
668 .Bl -tag -offset 4n -width 2n
669 .It Va monthly_accounting_enable
673 if you want to do login accounting using the
676 .It Va monthly_status_security_enable
678 Monthly counterpart of
679 .Va daily_status_securiy_enable .
680 .It Va monthly_status_security_inline
682 Monthly counterpart of
683 .Va daily_status_securiy_inline .
684 .It Va monthly_status_security_output
686 Monthly counterpart of
687 .Va daily_status_securiy_output .
690 Set to a list of extra scripts that should be run after all other
692 All scripts must be absolute path names.
695 The following variables are used by the standard scripts that reside in
696 .Pa /etc/periodic/security .
697 Those scripts are usually run from daily
698 .Pq Va daily_status_security_enable ,
700 .Pq Va weekly_status_security_enable ,
702 .Pq Va monthly_status_security_enable
706 of each script can be configured as
712 Note that when periodic security scripts are run from
714 they will be always run unless their
720 .Bl -tag -offset 4n -width 2n
721 .It Va security_status_diff_flags
723 Set to the arguments to pass to the
725 utility when generating differences.
728 .It Va security_status_chksetuid_enable
732 to compare the modes and modification times of setuid executables with
733 the previous day's values.
734 .It Va security_status_chksetuid_period
742 .It Va security_status_chkportsum_enable
746 to verify checksums of all installed packages against the known checksums in
748 .It Va security_status_chkportsum_period
756 .It Va security_status_neggrpperm_enable
760 to check for files where the group of a file has less permissions than
762 When users are in more than 14 supplemental groups these negative
763 permissions may not be enforced via NFS shares.
764 .It Va security_status_neggrpperm_period
772 .It Va security_status_chkmounts_enable
776 to check for changes mounted file systems to the previous day's values.
777 .It Va security_status_chkmounts_period
785 .It Va security_status_noamd
789 if you want to ignore
791 mounts when comparing against yesterday's file system mounts in the
792 .Va security_status_chkmounts_enable
794 .It Va security_status_chkuid0_enable
799 .Pa /etc/master.passwd
800 for accounts with UID 0.
801 .It Va security_status_chkuid0_period
809 .It Va security_status_passwdless_enable
814 .Pa /etc/master.passwd
815 for accounts with empty passwords.
816 .It Va security_status_passwdless_period
824 .It Va security_status_logincheck_enable
832 for more information.
833 .It Va security_status_logincheck_period
841 .It Va security_status_ipfwdenied_enable
845 to show log entries for packets denied by
847 since yesterday's check.
848 .It Va security_status_ipfwdenied_period
856 .It Va security_status_ipfdenied_enable
860 to show log entries for packets denied by
862 since yesterday's check.
863 .It Va security_status_ipfdenied_period
871 .It Va security_status_pfdenied_enable
875 to show log entries for packets denied by
877 since yesterday's check.
878 .It Va security_status_pfdenied_period
886 .It Va security_status_ipfwlimit_enable
892 rules that have reached their verbosity limit.
893 .It Va security_status_ipfwlimit_period
901 .It Va security_status_kernelmsg_enable
907 entries since yesterday's check.
908 .It Va security_status_kernelmsg_period
916 .It Va security_status_loginfail_enable
920 to display failed logins from
921 .Pa /var/log/messages
923 .It Va security_status_loginfail_period
931 .It Va security_status_tcpwrap_enable
935 to display connections denied by tcpwrappers (see
938 .Pa /var/log/messages
939 during the previous day.
940 .It Va security_status_tcpwrap_period
950 .Bl -tag -width ".Pa /etc/defaults/periodic.conf"
951 .It Pa /etc/defaults/periodic.conf
952 The default configuration file.
953 This file contains all default variables and values.
954 .It Pa /etc/periodic.conf
955 The usual system specific variable override file.
956 .It Pa /etc/periodic.conf.local
957 An additional override file, useful when
958 .Pa /etc/periodic.conf
959 is shared or distributed.
987 .An Brian Somers Aq brian@Awfulhak.org