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