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 January 24, 2010 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_backup_passwd_enable 262.Pq Vt bool 263Set to 264.Dq YES 265if you want the 266.Pa /etc/master.passwd 267and 268.Pa /etc/group 269files backed up and reported on. 270Reporting consists of checking both files for modifications and running 271.Xr chkgrp 8 272on the 273.Pa group 274file. 275.It Va daily_backup_aliases_enable 276.Pq Vt bool 277Set to 278.Dq YES 279if you want the 280.Pa /etc/mail/aliases 281file backed up and modifications to be displayed in your daily output. 282.It Va daily_backup_distfile_enable 283.Pq Vt bool 284Set to 285.Dq YES 286if you want the 287.Pa /etc/Distfile 288file backed up and modifications to be displayed in your daily output. 289.It Va daily_calendar_enable 290.Pq Vt bool 291Set to 292.Dq YES 293if you want to run 294.Ic calendar -a 295daily. 296.It Va daily_accounting_enable 297.Pq Vt bool 298Set to 299.Dq YES 300if you want to rotate your daily accounting files. 301No rotations are necessary unless 302.Va accounting_enable 303is enabled in 304.Xr rc.conf 5 . 305.It Va daily_accounting_compress 306.Pq Vt bool 307Set to 308.Dq YES 309if you want your daily accounting files to be compressed using 310.Xr gzip 1 . 311.It Va daily_accounting_save 312.Pq Vt num 313When 314.Va daily_accounting_enable 315is set, this may also be set to the number of daily accounting files that are 316to be saved. 317The default is 318.Dq 3 . 319.It Va daily_accounting_flags 320.Pq Vt str 321Set to the arguments to pass to the 322.Xr sa 8 323utility (in addition to 324.Fl s ) 325when 326.Va daily_accounting_enable 327is set to 328.Dq YES . 329The default is 330.Fl q . 331.It Va daily_distfile_enable 332.Pq Vt bool 333Set to 334.Dq YES 335if you want to run 336.Xr rdist 1 337daily. 338The 339.Pa /etc/Distfile 340file must also exist. 341.It Va daily_news_expire_enable 342.Pq Vt bool 343Set to 344.Dq YES 345if you want to run 346.Pa /etc/news.expire . 347.It Va daily_status_disks_enable 348.Pq Vt bool 349Set to 350.Dq YES 351if you want to run 352.Xr df 1 353(with the arguments supplied in 354.Va daily_status_disks_df_flags ) 355and 356.Ic dump -W . 357.It Va daily_status_disks_df_flags 358.Pq Vt str 359Set to the arguments for the 360.Xr df 1 361utility when 362.Va daily_status_disks_enable 363is set to 364.Dq YES . 365.It Va daily_status_network_enable 366.Pq Vt bool 367Set to 368.Dq YES 369if you want to run 370.Ic netstat -i . 371.It Va daily_status_network_usedns 372.Pq Vt bool 373Set to 374.Dq YES 375if you want to run 376.Xr netstat 1 377without the 378.Fl n 379option (to do DNS lookups). 380.It Va daily_status_rwho_enable 381.Pq Vt bool 382Set to 383.Dq YES 384if you want to run 385.Xr uptime 1 386(or 387.Xr ruptime 1 388if 389.Va rwhod_enable 390is set to 391.Dq YES 392in 393.Pa /etc/rc.conf ) . 394.It Va daily_status_mailq_enable 395.Pq Vt bool 396Set to 397.Dq YES 398if you want to run 399.Xr mailq 1 . 400.It Va daily_status_mailq_shorten 401.Pq Vt bool 402Set to 403.Dq YES 404if you want to shorten the 405.Nm mailq 406output when 407.Va daily_status_mailq_enable 408is set to 409.Dq YES . 410.It Va daily_status_include_submit_mailq 411.Pq Vt bool 412Set to 413.Dq YES 414if you also want to run 415.Xr mailq 1 416on the submit mail queue when 417.Va daily_status_mailq_enable 418is set to 419.Dq YES . 420This may not work with MTAs other than 421.Xr sendmail 8 . 422.It Va daily_status_security_enable 423.Pq Vt bool 424Set to 425.Dq YES 426if you want to run the security check. 427The security check is another set of 428.Xr periodic 8 429scripts. 430The system defaults are in 431.Pa /etc/periodic/security . 432Local scripts should be placed in 433.Pa /usr/local/etc/periodic/security . 434See the 435.Xr periodic 8 436manual page for more information. 437.It Va daily_status_security_inline 438.Pq Vt bool 439Set to 440.Dq YES 441if you want the security check output inline. 442The default is to either mail or log the output according to the value of 443.Va daily_status_security_output . 444.It Va daily_status_security_logdir 445.Pq Vt str 446The directory where the security scripts expect the system's log files. 447.It Va daily_status_security_output 448.Pq Vt str 449Where to send the output of the security check if 450.Va daily_status_security_inline 451is set to 452.Dq NO . 453This variable behaves in the same way as the 454.Va *_output 455variables above, namely it can be set either to one or more email addresses 456or to an absolute file name. 457.It Va daily_status_security_diff_flags 458.Pq Vt str 459Set to the arguments to pass to the 460.Xr diff 1 461utility when generating differences. 462The default is 463.Fl u . 464.It Va daily_status_security_chksetuid_enable 465.Pq Vt bool 466Set to 467.Dq YES 468to compare the modes and modification times of setuid executables with 469the previous day's values. 470.It Va daily_status_security_chkmounts_enable 471.Pq Vt bool 472Set to 473.Dq YES 474to check for changes in mounted filesystems to the previous day's values. 475.It Va daily_status_security_chkmounts_ignore 476Set to the list of filesystem types that should not be checked when 477.Va daily_status_security_chkmounts_enable 478is set to 479.Dq YES . 480.It Va daily_status_security_noamd 481.Pq Vt bool 482Set to 483.Dq YES 484if you want to ignore 485.Xr amd 8 486mounts when comparing against yesterdays filesystem mounts in the 487.Va daily_status_security_chkmounts_enable 488check. 489.It Va daily_status_security_nomfs 490.Pq Vt bool 491Set to 492.Dq YES 493if you want to ignore 494.Xr mfs 8 495mounts when comparing against yesterdays filesystem mounts in the 496.Va daily_status_security_chkmounts_enable 497check. 498.It Va daily_status_security_chkuid0_enable 499.Pq Vt bool 500Set to 501.Dq YES 502to check 503.Pa /etc/master.passwd 504for accounts with uid 0. 505.It Va daily_status_security_passwdless_enable 506.Pq Vt bool 507Set to 508.Dq YES 509to check 510.Pa /etc/master.passwd 511for accounts with empty passwords. 512.It Va daily_status_security_logincheck_enable 513.Pq Vt bool 514Set to 515.Dq Li YES 516to check 517.Pa /etc/login.conf 518ownership, see 519.Xr login.conf 5 520for more information. 521.It Va daily_status_security_ipfwdenied_enable 522.Pq Vt bool 523Set to 524.Dq YES 525to show log entries for packets denied by 526.Xr ipfw 8 527since yesterday's check. 528.It Va daily_status_security_ipfdenied_enable 529.Pq Vt bool 530Set to 531.Dq YES 532to show log entries for packets denied by 533.Xr ipf 8 534since yesterday's check. 535.It Va daily_status_security_pfdenied_enable 536.Pq Vt bool 537Set to 538.Dq YES 539to show log entries for packets denied by 540.Xr pf 4 541since yesterday's check. 542.It Va daily_status_security_ipfwlimit_enable 543.Pq Vt bool 544Set to 545.Dq YES 546to display 547.Xr ipfw 8 548rules that have reached their verbosity limit. 549.It Va daily_status_security_ip6fwdenied_enable 550.Pq Vt bool 551Set to 552.Dq YES 553to show log entries for packets denied by 554.Xr ip6fw 8 555since yesterday's check. 556.It Va daily_status_security_ip6fwlimit_enable 557.Pq Vt bool 558Set to 559.Dq YES 560to display 561.Xr ip6fw 8 562rules that have reached their verbosity limit. 563.It Va daily_status_pkgsrc_audit_enable 564.Pq Vt bool 565Set to 566.Dq YES 567to check the currently installed packages against a database of known 568vulnerabilities and report those that are vulnerable. 569.It Va daily_status_pkgsrc_check_signatures 570.Pq Vt bool 571Set to 572.Dq YES 573to check the digital signature of all files installed by packages against 574the expected values stored in the packages database. 575.It Va daily_status_pkgsrc_fetch_vulnerabilities 576.Pq Vt bool 577Set to 578.Dq YES 579to refresh the local database of package vulnerabilities. 580.It Va daily_status_security_kernelmsg_enable 581.Pq Vt bool 582Set to 583.Dq YES 584to show new 585.Xr dmesg 8 586entries since yesterday's check. 587.It Va daily_status_security_loginfail_enable 588.Pq Vt bool 589Set to 590.Dq YES 591to display failed logins from 592.Pa /var/log/messages 593in the previous day. 594.It Va daily_status_security_tcpwrap_enable 595.Pq Vt bool 596Set to 597.Dq YES 598to display connections denied by tcpwrappers (see 599.Xr hosts_access 5 ) 600from 601.Pa /var/log/messages 602during the previous day. 603.It Va daily_status_mail_rejects_enable 604.Pq Vt bool 605Set to 606.Dq YES 607if you want to summarise mail rejections logged to 608.Pa /var/log/maillog 609for the previous day. 610.It Va daily_status_mail_rejects_logs 611.Pq Vt num 612Set to the number of maillog files that should be checked 613for yesterday's mail rejects. 614.It Va daily_status_named_enable 615.Pq Vt bool 616Set to 617.Dq YES 618if you want to summarise denied zone transfers (AXFR and IXFR) 619for the previous day. 620.It Va daily_status_named_usedns 621.Pq Vt bool 622Set to 623.Dq YES 624if you want to enable reverse DNS lookups. 625.It Va daily_queuerun_enable 626.Pq Vt bool 627Set to 628.Dq YES 629if you want to manually run the mail queue at least once a day. 630.It Va daily_submit_queuerun 631.Pq Vt bool 632Set to 633.Dq YES 634if you also want to manually run the submit mail queue at least once a day 635when 636.Va daily_queuerun_enable 637is set to 638.Dq YES . 639.It Va daily_local 640.Pq Vt str 641Set to a list of extra scripts that should be run after all other 642daily scripts. 643All scripts must be absolute path names. 644.El 645.Pp 646The following variables are used by the standard scripts that reside in 647.Pa /etc/periodic/weekly : 648.Bl -tag -offset 4n -width 2n 649.It Va weekly_clean_kvmdb_enable 650.Pq Vt bool 651Set to 652.Dq YES 653if you want to purge old 654.Pa /var/db/kvm_*.db 655files. 656The kvm file for the current kernel will not be purged. 657.It Va weekly_clean_kvmdb_days 658.Pq Vt num 659Set to the number of days that the file must not have been accessed 660before being deleted. 661.It Va weekly_clean_kvmdb_verbose 662.Pq Vt bool 663Set to 664.Dq YES 665if you want the removed files to be reported in your weekly output. 666.It Va weekly_locate_enable 667.Pq Vt bool 668Set to 669.Dq YES 670if you want to run 671.Pa /usr/libexec/locate.updatedb . 672This script is run using 673.Ic nice -5 674as user 675.An nobody , 676and generates the table used by the 677.Xr locate 1 678command. 679.It Va weekly_whatis_enable 680.Pq Vt bool 681Set to 682.Dq YES 683if you want to run 684.Pa /usr/libexec/makewhatis.local . 685This script regenerates the database used by the 686.Xr apropos 1 687command. 688.It Va weekly_catman_enable 689.Pq Vt bool 690Set to 691.Dq YES 692if you want to run 693.Pa /usr/libexec/catman.local . 694This script processes all out of date man pages, speeding up the 695.Xr man 1 696command at the expense of disk space. 697.It Va weekly_noid_enable 698.Pq Vt bool 699Set to 700.Dq YES 701if you want to locate orphaned files on the system. 702An orphaned file is one with an invalid owner or group. 703.It Va weekly_noid_dirs 704.Pq Vt str 705A list of directories under which orphaned files are searched for. 706This would usually be set to 707.Pa / . 708.It Va weekly_local 709.Pq Vt str 710Set to a list of extra scripts that should be run after all other 711weekly scripts. 712All scripts must be absolute path names. 713.El 714.Pp 715The following variables are used by the standard scripts that reside in 716.Pa /etc/periodic/monthly : 717.Bl -tag -offset 4n -width 2n 718.It Va monthly_accounting_enable 719.Pq Vt bool 720Set to 721.Dq YES 722if you want to do login accounting using the 723.Xr ac 8 724command. 725.It Va monthly_statistics_enable 726.Pq Vt bool 727Set to 728.Dq YES 729if you want to report non-identifying information about the OS to the 730.Pa http://www.bsdstats.org 731community site on the internet. 732.It Va monthly_statistics_report_devices 733.Pq Vt bool 734When 735.Va monthly_statistics_report_devices 736is set, this may also be set to report additional device statistics. 737.It Va monthly_local 738.Pq Vt str 739Set to a list of extra scripts that should be run after all other 740monthly scripts. 741All scripts must be absolute path names. 742.El 743.Sh FILES 744.Bl -tag -width /etc/defaults/periodic.conf 745.It Pa /etc/defaults/periodic.conf 746The default configuration file. 747This file contains all default variables and values. 748.It Pa /etc/periodic.conf 749The usual system specific variable override file. 750.It Pa /etc/periodic.conf.local 751An additional override file, useful when 752.Pa /etc/periodic.conf 753is shared or distributed. 754.El 755.Sh SEE ALSO 756.Xr apropos 1 , 757.Xr calendar 1 , 758.Xr df 1 , 759.Xr diff 1 , 760.Xr gzip 1 , 761.Xr locate 1 , 762.Xr man 1 , 763.Xr msgs 1 , 764.Xr netstat 1 , 765.Xr nice 1 , 766.Xr rdist 1 , 767.Xr rc.conf 5 , 768.Xr ac 8 , 769.Xr amd 8 , 770.Xr chkgrp 8 , 771.Xr dump 8 , 772.Xr mfs 8 , 773.Xr newsyslog 8 , 774.Xr periodic 8 , 775.Xr sendmail 8 776.Sh HISTORY 777The 778.Nm 779file appeared in 780.Fx 4.1 . 781.Sh AUTHORS 782.An Brian Somers Aq brian@Awfulhak.org . 783