1.\"- 2.\" Copyright (c) 2000 Brian Somers <brian@Awfulhak.org> 3.\" All rights reserved. 4.\" 5.\" Redistribution and use in source and binary forms, with or without 6.\" modification, are permitted provided that the following conditions 7.\" are met: 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. 13.\" 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 24.\" SUCH DAMAGE. 25.\" 26.\" $FreeBSD: src/share/man/man5/periodic.conf.5,v 1.8.2.22 2003/02/08 21:42:01 gshapiro Exp $ 27.\" 28.Dd September 3, 2017 29.Dt PERIODIC.CONF 5 30.Os 31.Sh NAME 32.Nm periodic.conf 33.Nd periodic job configuration information 34.Sh DESCRIPTION 35The file 36.Nm 37contains a description of how daily, weekly and monthly system maintenance 38jobs should run. 39It resides in the 40.Pa /etc/defaults 41directory and parts may be overridden by a file of the same name in 42.Pa /etc , 43which itself may be overridden by the 44.Pa /etc/periodic.conf.local 45file. 46.Pp 47.Nm 48is actually sourced as a shell script from each of the periodic scripts 49and is intended to simply provide default configuration variables. 50.Pp 51The following variables are used by 52.Xr periodic 8 53itself: 54.Bl -tag -offset 4n -width 2n 55.It Va local_periodic 56.Pq Vt str 57List of directories to search for periodic scripts. 58This list is always prefixed with 59.Pa /etc/periodic , 60and is only used when an argument to 61.Xr periodic 8 62is not an absolute directory name. 63.It Va dir Ns No _output 64.Pq Vt path No or Vt list 65What to do with the output of the scripts envoked from 66the directory 67.Ar dir . 68If this variable is set to an absolute path name, output is logged to 69that file, otherwise it is taken as one or more space separated email 70addresses and mailed to those users. 71If this variable is not set or is empty, output is sent to standard output. 72.Pp 73For an unattended machine, suitable values for 74.Va daily_output , 75.Va weekly_output , 76and 77.Va monthly_output 78might be 79.Pa /var/log/daily.log , 80.Pa /var/log/weekly.log , 81and 82.Pa /var/log/monthly.log 83respectively, as 84.Xr newsyslog 8 85will rotate these files (if they exists) at the appropriate times. 86.It Va dir Ns No _show_success 87.It Va dir Ns No _show_info 88.It Va dir Ns No _show_badconfig 89.Pq Vt bool 90These variables control whether 91.Xr periodic 8 92will mask the output of the envoked scripts based on their return code 93(where 94.Ar dir 95is the base directory name in which each script resides). 96If the return code of a script is 97.Sq 0 98and 99.Va dir Ns No _show_success 100is set to 101.Dq NO , 102.Xr periodic 8 103will mask the script's output. 104If the return code of a script is 105.Sq 1 106and 107.Va dir Ns No _show_info 108is set to 109.Dq NO , 110.Xr periodic 8 111will mask the script's output. 112If the return code of a script is 113.Sq 2 114and 115.Va dir Ns No _show_badconfig 116is set to 117.Dq NO , 118.Xr periodic 8 119will mask the script's output. 120If these variables are set to neither 121.Dq YES 122nor 123.Dq NO , 124they default to 125.Dq YES , 126.Dq YES 127and 128.Dq NO 129respectively. 130.Pp 131Refer to the 132.Xr periodic 8 133man page for how script return codes are interpreted. 134.El 135.Pp 136The following variables are used by the standard scripts that reside in 137.Pa /etc/periodic/daily : 138.Bl -tag -offset 4n -width 2n 139.It Va daily_clean_disks_enable 140.Pq Vt bool 141Set to 142.Dq YES 143if you want to remove all files matching 144.Va daily_clean_disks_files 145daily. 146.It Va daily_clean_disks_files 147.Pq Vt str 148Set to a list of file names to match. 149Wild cards are permitted. 150.It Va daily_clean_disks_days 151.Pq Vt num 152When 153.Va daily_clean_disks_enable 154is set to 155.Dq YES , 156this must also be set to the number of days old that a file's access 157and modification times must be before it's deleted. 158.It Va daily_clean_disks_verbose 159.Pq Vt bool 160Set to 161.Dq YES 162if you want the removed files to be reported in your daily output. 163.It Va daily_clean_tmps_enable 164.Pq Vt bool 165Set to 166.Dq YES 167if you want to clear temporary directories daily. 168.It Va daily_clean_tmps_dirs 169.Pq Vt str 170Set to the list of directories to clear if 171.Va daily_clean_tmps_enable 172is set to 173.Dq YES . 174.It Va daily_clean_tmps_days 175.Pq Vt num 176When 177.Va daily_clean_tmps_enable 178is set, this must also be set to the number of days old that a file's access 179and modification times must be before it's deleted. 180.It Va daily_clean_tmps_ignore 181.Pq Vt str 182Set to the list of files that should not be deleted when 183.Va daily_clean_tmps_enable 184is set to 185.Dq YES . 186Wild card characters are permitted. 187.It Va daily_clean_tmps_verbose 188.Pq Vt bool 189Set to 190.Dq YES 191if you want the removed files to be reported in your daily output. 192.It Va daily_clean_preserve_enable 193.Pq Vt bool 194Set to 195.Dq YES 196if you wish to remove old files from 197.Pa /var/preserve . 198.It Va daily_clean_preserve_days 199.Pq Vt num 200Set to the number of days that files must not have been modified before 201they are deleted. 202.It Va daily_clean_preserve_verbose 203.Pq Vt bool 204Set to 205.Dq YES 206if you want the removed files to be reported in your daily output. 207.It Va daily_clean_msgs_enable 208.Pq Vt bool 209Set to 210.Dq YES 211if you wish old system messages to be purged. 212.It Va daily_clean_msgs_days 213.Pq Vt num 214Set to the number of days that files must not have been modified before 215they are deleted. 216If this variable is left blank, the 217.Xr msgs 1 218default is used. 219.It Va daily_clean_rwho_enable 220.Pq Vt bool 221Set to 222.Dq YES 223if you wish old files in 224.Pa /var/who 225to be purged. 226.It Va daily_clean_rwho_days 227.Pq Vt num 228Set to the number of days that files must not have been modified before 229they are deleted. 230.It Va daily_clean_rwho_verbose 231.Pq Vt bool 232Set to 233.Dq YES 234if you want the removed files to be reported in your daily output. 235.It Va daily_clean_hoststat_enable 236.Pq Vt bool 237Set to 238.Dq YES 239to run 240.Nm sendmail Fl bH 241to automatically purge stale entries from 242.Xr sendmail 8 Ns 's 243host status cache. 244Files will be deleted using the same criteria as 245.Xr sendmail 8 246would normally use when determining whether to believe the cached information, 247as configured in 248.Pa /etc/mail/sendmail.cf . 249.It Va daily_clean_hammer_enable 250.Pq Vt bool 251Set to 252.Dq YES 253if you want 254.Xr HAMMER 5 255file systems to be snapshot, pruned and reblocked. 256.It Va daily_clean_hammer_verbose 257.Pq Vt bool 258Set to 259.Dq YES 260if you wish more verbose output. 261.It Va daily_clean_hammer_pfslist 262.Pq Vt str 263Set to a list of 264.Xr HAMMER 5 265filesystems and pseudo-filesystems to clean. 266If this variable is left blank, the default 267.Xr hammer 8 268.Ic cleanup 269actions occur. 270.It Va daily_clean_hammer2_enable 271.Pq Vt bool 272Set to 273.Dq YES 274if you want 275to run 276.Xr hammer2 8 277.Cm cleanup . 278This will e.g.\& 279.Ic bulkfree 280.Xr hammer2 8 281file systems. 282.It Va daily_clean_hammer2_verbose 283.Pq Vt bool 284Set to 285.Dq YES 286if you wish more verbose output. 287.It Va daily_clean_hammer2_pfslist 288.Pq Vt str 289Set to a list of 290.Xr hammer2 8 291filesystems and pseudo-filesystems to clean. 292If this variable is left blank, the default 293.Xr hammer2 8 294.Ic cleanup 295actions occur. 296.It Va daily_backup_passwd_enable 297.Pq Vt bool 298Set to 299.Dq YES 300if you want the 301.Pa /etc/master.passwd 302and 303.Pa /etc/group 304files backed up and reported on. 305Reporting consists of checking both files for modifications and running 306.Xr chkgrp 8 307on the 308.Pa group 309file. 310.It Va daily_backup_aliases_enable 311.Pq Vt bool 312Set to 313.Dq YES 314if you want the 315.Pa /etc/mail/aliases 316file backed up and modifications to be displayed in your daily output. 317.It Va daily_calendar_enable 318.Pq Vt bool 319Set to 320.Dq YES 321if you want to run 322.Ic calendar -a 323daily. 324.It Va daily_accounting_enable 325.Pq Vt bool 326Set to 327.Dq YES 328if you want to rotate your daily accounting files. 329No rotations are necessary unless 330.Va accounting_enable 331is enabled in 332.Xr rc.conf 5 . 333.It Va daily_accounting_compress 334.Pq Vt bool 335Set to 336.Dq YES 337if you want your daily accounting files to be compressed using 338.Xr gzip 1 . 339.It Va daily_accounting_save 340.Pq Vt num 341When 342.Va daily_accounting_enable 343is set, this may also be set to the number of daily accounting files that are 344to be saved. 345The default is 346.Dq 3 . 347.It Va daily_accounting_flags 348.Pq Vt str 349Set to the arguments to pass to the 350.Xr sa 8 351utility (in addition to 352.Fl s ) 353when 354.Va daily_accounting_enable 355is set to 356.Dq YES . 357The default is 358.Fl q . 359.It Va daily_news_expire_enable 360.Pq Vt bool 361Set to 362.Dq YES 363if you want to run 364.Pa /etc/news.expire . 365.It Va daily_status_disks_enable 366.Pq Vt bool 367Set to 368.Dq YES 369if you want to run 370.Xr df 1 371(with the arguments supplied in 372.Va daily_status_disks_df_flags ) 373and 374.Ic dump -W . 375.It Va daily_status_disks_df_flags 376.Pq Vt str 377Set to the arguments for the 378.Xr df 1 379utility when 380.Va daily_status_disks_enable 381is set to 382.Dq YES . 383.It Va daily_status_network_enable 384.Pq Vt bool 385Set to 386.Dq YES 387if you want to run 388.Ic netstat -i . 389.It Va daily_status_network_usedns 390.Pq Vt bool 391Set to 392.Dq YES 393if you want to run 394.Xr netstat 1 395without the 396.Fl n 397option (to do DNS lookups). 398.It Va daily_status_rwho_enable 399.Pq Vt bool 400Set to 401.Dq YES 402if you want to run 403.Xr uptime 1 404(or 405.Xr ruptime 1 406if 407.Va rwhod_enable 408is set to 409.Dq YES 410in 411.Pa /etc/rc.conf ) . 412.It Va daily_status_mailq_enable 413.Pq Vt bool 414Set to 415.Dq YES 416if you want to run 417.Xr mailq 1 . 418.It Va daily_status_mailq_shorten 419.Pq Vt bool 420Set to 421.Dq YES 422if you want to shorten the 423.Nm mailq 424output when 425.Va daily_status_mailq_enable 426is set to 427.Dq YES . 428.It Va daily_status_include_submit_mailq 429.Pq Vt bool 430Set to 431.Dq YES 432if you also want to run 433.Xr mailq 1 434on the submit mail queue when 435.Va daily_status_mailq_enable 436is set to 437.Dq YES . 438This may not work with MTAs other than 439.Xr sendmail 8 . 440.It Va daily_status_security_enable 441.Pq Vt bool 442Set to 443.Dq YES 444if you want to run the security check. 445The security check is another set of 446.Xr periodic 8 447scripts. 448The system defaults are in 449.Pa /etc/periodic/security . 450Local scripts should be placed in 451.Pa /usr/local/etc/periodic/security . 452See the 453.Xr periodic 8 454manual page for more information. 455.It Va daily_status_security_inline 456.Pq Vt bool 457Set to 458.Dq YES 459if you want the security check output inline. 460The default is to either mail or log the output according to the value of 461.Va daily_status_security_output . 462.It Va daily_status_security_logdir 463.Pq Vt str 464The directory where the security scripts expect the system's log files. 465.It Va daily_status_security_output 466.Pq Vt str 467Where to send the output of the security check if 468.Va daily_status_security_inline 469is set to 470.Dq NO . 471This variable behaves in the same way as the 472.Va *_output 473variables above, namely it can be set either to one or more email addresses 474or to an absolute file name. 475.It Va daily_status_security_diff_flags 476.Pq Vt str 477Set to the arguments to pass to the 478.Xr diff 1 479utility when generating differences. 480The default is 481.Fl u . 482.It Va daily_status_security_chksetuid_enable 483.Pq Vt bool 484Set to 485.Dq YES 486to compare the modes and modification times of setuid executables with 487the previous day's values. 488.It Va daily_status_security_chkmounts_enable 489.Pq Vt bool 490Set to 491.Dq YES 492to check for changes in mounted filesystems to the previous day's values. 493.It Va daily_status_security_chkmounts_ignore 494Set to the list of filesystem types that should not be checked when 495.Va daily_status_security_chkmounts_enable 496is set to 497.Dq YES . 498.It Va daily_status_security_nomfs 499.Pq Vt bool 500Set to 501.Dq YES 502if you want to ignore 503.Xr mfs 8 504mounts when comparing against yesterdays filesystem mounts in the 505.Va daily_status_security_chkmounts_enable 506check. 507.It Va daily_status_security_chkuid0_enable 508.Pq Vt bool 509Set to 510.Dq YES 511to check 512.Pa /etc/master.passwd 513for accounts with uid 0. 514.It Va daily_status_security_passwdless_enable 515.Pq Vt bool 516Set to 517.Dq YES 518to check 519.Pa /etc/master.passwd 520for accounts with empty passwords. 521.It Va daily_status_security_logincheck_enable 522.Pq Vt bool 523Set to 524.Dq Li YES 525to check 526.Pa /etc/login.conf 527ownership, see 528.Xr login.conf 5 529for more information. 530.It Va daily_status_security_ipfwdenied_enable 531.Pq Vt bool 532Set to 533.Dq YES 534to show log entries for packets denied by 535.Xr ipfw 8 536since yesterday's check. 537.It Va daily_status_security_pfdenied_enable 538.Pq Vt bool 539Set to 540.Dq YES 541to show log entries for packets denied by 542.Xr pf 4 543since yesterday's check. 544.It Va daily_status_security_ipfwlimit_enable 545.Pq Vt bool 546Set to 547.Dq YES 548to display 549.Xr ipfw 8 550rules that have reached their verbosity limit. 551.It Va daily_status_security_ip6fwdenied_enable 552.Pq Vt bool 553Set to 554.Dq YES 555to show log entries for packets denied by 556.Xr ip6fw 8 557since yesterday's check. 558.It Va daily_status_security_ip6fwlimit_enable 559.Pq Vt bool 560Set to 561.Dq YES 562to display 563.Xr ip6fw 8 564rules that have reached their verbosity limit. 565.It Va daily_status_security_kernelmsg_enable 566.Pq Vt bool 567Set to 568.Dq YES 569to show new 570.Xr dmesg 8 571entries since yesterday's check. 572.It Va daily_status_security_loginfail_enable 573.Pq Vt bool 574Set to 575.Dq YES 576to display failed logins from 577.Pa /var/log/messages 578in the previous day. 579.It Va daily_status_security_tcpwrap_enable 580.Pq Vt bool 581Set to 582.Dq YES 583to display connections denied by tcpwrappers (see 584.Xr hosts_access 5 ) 585from 586.Pa /var/log/messages 587during the previous day. 588.It Va daily_status_mail_rejects_enable 589.Pq Vt bool 590Set to 591.Dq YES 592if you want to summarise mail rejections logged to 593.Pa /var/log/maillog 594for the previous day. 595.It Va daily_status_mail_rejects_logs 596.Pq Vt num 597Set to the number of maillog files that should be checked 598for yesterday's mail rejects. 599.It Va daily_status_named_enable 600.Pq Vt bool 601Set to 602.Dq YES 603if you want to summarise denied zone transfers (AXFR and IXFR) 604for the previous day. 605.It Va daily_status_named_usedns 606.Pq Vt bool 607Set to 608.Dq YES 609if you want to enable reverse DNS lookups. 610.It Va daily_queuerun_enable 611.Pq Vt bool 612Set to 613.Dq YES 614if you want to manually run the mail queue at least once a day. 615.It Va daily_submit_queuerun 616.Pq Vt bool 617Set to 618.Dq YES 619if you also want to manually run the submit mail queue at least once a day 620when 621.Va daily_queuerun_enable 622is set to 623.Dq YES . 624.It Va daily_local 625.Pq Vt str 626Set to a list of extra scripts that should be run after all other 627daily scripts. 628All scripts must be absolute path names. 629.El 630.Pp 631The following variables are used by the standard scripts that reside in 632.Pa /etc/periodic/weekly : 633.Bl -tag -offset 4n -width 2n 634.It Va weekly_clean_kvmdb_enable 635.Pq Vt bool 636Set to 637.Dq YES 638if you want to purge old 639.Pa /var/db/kvm_*.db 640files. 641The kvm file for the current kernel will not be purged. 642.It Va weekly_clean_kvmdb_days 643.Pq Vt num 644Set to the number of days that the file must not have been accessed 645before being deleted. 646.It Va weekly_clean_kvmdb_verbose 647.Pq Vt bool 648Set to 649.Dq YES 650if you want the removed files to be reported in your weekly output. 651.It Va weekly_locate_enable 652.Pq Vt bool 653Set to 654.Dq YES 655if you want to run 656.Pa /usr/libexec/locate.updatedb . 657This script is run using 658.Ic nice -5 659as user 660.An nobody , 661and generates the table used by the 662.Xr locate 1 663command. 664.It Va weekly_whatis_enable 665.Pq Vt bool 666Set to 667.Dq YES 668if you want to run 669.Pa /usr/libexec/makewhatis.local . 670This script regenerates the database used by the 671.Xr apropos 1 672command. 673.It Va weekly_catman_enable 674.Pq Vt bool 675Set to 676.Dq YES 677if you want to run 678.Pa /usr/libexec/catman.local . 679This script processes all out of date man pages, speeding up the 680.Xr man 1 681command at the expense of disk space. 682.It Va weekly_noid_enable 683.Pq Vt bool 684Set to 685.Dq YES 686if you want to locate orphaned files on the system. 687An orphaned file is one with an invalid owner or group. 688.It Va weekly_noid_dirs 689.Pq Vt str 690A list of directories under which orphaned files are searched for. 691This would usually be set to 692.Pa / . 693.It Va weekly_local 694.Pq Vt str 695Set to a list of extra scripts that should be run after all other 696weekly scripts. 697All scripts must be absolute path names. 698.El 699.Pp 700The following variables are used by the standard scripts that reside in 701.Pa /etc/periodic/monthly : 702.Bl -tag -offset 4n -width 2n 703.It Va monthly_accounting_enable 704.Pq Vt bool 705Set to 706.Dq YES 707if you want to do login accounting using the 708.Xr ac 8 709command. 710.It Va monthly_statistics_enable 711.Pq Vt bool 712Set to 713.Dq YES 714if you want to report non-identifying information about the OS to the 715.Pa http://www.bsdstats.org 716community site on the internet. 717.It Va monthly_statistics_report_devices 718.Pq Vt bool 719When 720.Va monthly_statistics_report_devices 721is set, this may also be set to report additional device statistics. 722.It Va monthly_local 723.Pq Vt str 724Set to a list of extra scripts that should be run after all other 725monthly scripts. 726All scripts must be absolute path names. 727.El 728.Sh FILES 729.Bl -tag -width /etc/defaults/periodic.conf 730.It Pa /etc/defaults/periodic.conf 731The default configuration file. 732This file contains all default variables and values. 733.It Pa /etc/periodic.conf 734The usual system specific variable override file. 735.It Pa /etc/periodic.conf.local 736An additional override file, useful when 737.Pa /etc/periodic.conf 738is shared or distributed. 739.El 740.Sh SEE ALSO 741.Xr apropos 1 , 742.Xr calendar 1 , 743.Xr df 1 , 744.Xr diff 1 , 745.Xr gzip 1 , 746.Xr locate 1 , 747.Xr man 1 , 748.Xr msgs 1 , 749.Xr netstat 1 , 750.Xr nice 1 , 751.Xr HAMMER 5 , 752.Xr rc.conf 5 , 753.Xr ac 8 , 754.Xr chkgrp 8 , 755.Xr dump 8 , 756.Xr hammer 8 , 757.Xr hammer2 8 , 758.Xr mfs 8 , 759.Xr newsyslog 8 , 760.Xr periodic 8 , 761.Xr sendmail 8 762.Sh HISTORY 763The 764.Nm 765file appeared in 766.Fx 4.1 . 767.Sh AUTHORS 768.An Brian Somers Aq Mt brian@Awfulhak.org . 769