.\" -*- mode: troff; coding: utf-8 -*-
.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Vb \" Begin verbatim text
.ft CW
.nf
.ne \\$1
..
.de Ve \" End verbatim text
.ft R
.fi
..
.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
.ie n \{\
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds C`
. ds C'
'br\}
.\"
.\" Escape single quotes in literal strings from groff's Unicode transform.
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\"
.\" If the F register is >0, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.\"
.\" Avoid warning from groff about undefined register 'F'.
.de IX
..
.nr rF 0
.if \n(.g .if rF .nr rF 1
.if (\n(rF:(\n(.g==0)) \{\
. if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. if !\nF==2 \{\
. nr % 0
. nr F 2
. \}
. \}
.\}
.rr rF
.\" ========================================================================
.\"
.IX Title "DONUTSD 1"
.TH DONUTSD 1 2023-07-29 "perl v5.38.0" "User Contributed Perl Documentation"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.if n .ad l
.nh
.SH NAME
donutsd \- Run the donuts syntax checker periodically and report the
results to an administrator
.SH SYNOPSIS
.IX Header "SYNOPSIS"
.Vb 2
\& donutsd [\-z FREQ] [\-t TMPDIR] [\-f FROM] [\-s SMTPSERVER] [\-a DONUTSARGS]
\& [\-x] [\-v] [\-i zonelistfile] [ZONEFILE ZONENAME ZONECONTACT]
.Ve
.SH DESCRIPTION
.IX Header "DESCRIPTION"
\&\fBdonutsd\fR runs \fBdonuts\fR on a set of zone files every so often (the
frequency is specified by the \fI\-z\fR flag which defaults to 24 hours) and
watches for changes in the results. These changes may be due to the
time-sensitive nature of DNSSEC-related records (e.g., RRSIG validity
periods) or because parent/child relationships have changed. If any
changes have occurred in the output since the last run of \fBdonuts\fR on a
particular zone file, the results are emailed to the specified zone
administrator's email address.
.SH OPTIONS
.IX Header "OPTIONS"
.IP \-v 4
.IX Item "-v"
Turns on more verbose output.
.IP \-o 4
.IX Item "-o"
Run once and quit, as opposed to sleeping or re-running forever.
.IP "\-a ARGUMENTS" 4
.IX Item "-a ARGUMENTS"
Specifies command line arguments to be passed to \fBdonuts\fR executions.
.IP "\-z TIME" 4
.IX Item "-z TIME"
Sleeps TIME seconds between calls to \fBdonuts\fR. The DNSSEC-Tools
\&\fBtimetrans\fR program can be used to convert from large time units (e.g.,
weeks and days) to seconds.
.IP "\-e ADDRESS" 4
.IX Item "-e ADDRESS"
Mail ADDRESS with a summary of the results from all the files.
These are the last few lines of the \fBdonuts\fR output for each zone that
details the number of errors found.
.IP "\-s SMTPSERVER" 4
.IX Item "-s SMTPSERVER"
When sending mail, send it to the SMTPSERVER specified. The default
is \fIlocalhost\fR.
.IP "\-f FROMADDR" 4
.IX Item "-f FROMADDR"
When sending mail, use FROMADDR for the From: address.
.IP \-x 4
.IX Item "-x"
Send the \fIdiff\fR output in the email message as well as the \fBdonuts\fR output.
.IP "\-t TMPDIR" 4
.IX Item "-t TMPDIR"
Store temporary files in TMPDIR.
.IP "\-i INPUTZONES" 4
.IX Item "-i INPUTZONES"
See the next section details.
.SH "ZONE ARGUMENTS"
.IX Header "ZONE ARGUMENTS"
The rest of the arguments to \fBdonutsd\fR should be triplets of the
following information:
.IP ZONEFILE 4
.IX Item "ZONEFILE"
The zone file to examine.
.IP ZONENAME 4
.IX Item "ZONENAME"
The zonename that file is supposed to be defining.
.IP ZONECONTACT 4
.IX Item "ZONECONTACT"
An email address of the zone administrator (or a comma-separated
list of addresses.) The results will be sent to this email address.
.PP
Additionally, instead of listing all the zones you wish to monitor on
the command line, you can use the \fI\-i\fR flag which specifies a
file to be read listing the TRIPLES instead. Each line in this file
should contain one triple with white-space separating the arguments.
.PP
Example:
.PP
.Vb 2
\& db.zonefile1.com zone1.com admin@zone1.com
\& db.zonefile2.com zone2.com admin@zone2.com,admin2@zone2.com
.Ve
.PP
For even more control, you can specify an XML file (whose name must end in
\&\fB.xml\fR) that describes the same information. This also allows for per-zone
customization of the \fBdonuts\fR arguments. The \fBXML::Smart\fR Perl module must
be installed in order to use this feature.
.PP
.Vb 12
\&
\&
\&
\& db.example.com
\& example.com
\& admin@example.com
\&
\& \-i DNSSEC
\&
\&
\&
.Ve
.PP
The \fBdonutsd\fR tree may also contain a \fIconfigs\fR section where
command-line flags can be specified:
.PP
.Vb 9
\&
\&
\& a\-\-features live \-\-level 8
\& ewes@example.com
\&
\&
\& ...
\&
\&
.Ve
.PP
Real command line flags will be used in preference to those specified
in the \fB.xml\fR file, however.
.SH EXAMPLE
.IX Header "EXAMPLE"
.Vb 2
\& donutsd \-a "\-\-features live \-\-level 8" \-f root@example.com \e
\& db.example.com example.com admin@example.com
.Ve
.SH COPYRIGHT
.IX Header "COPYRIGHT"
Copyright 2005\-2013 SPARTA, Inc. All rights reserved.
See the COPYING file included with the DNSSEC-Tools package for details.
.SH AUTHOR
.IX Header "AUTHOR"
Wes Hardaker
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fBdonuts\|(8)\fR
.PP
\&\fBtimetrans\|(1)\fR
.PP
http://dnssec\-tools.sourceforge.net