DONUTSD(1)
π DONUTSD(1) β the donutsd manual page bestie π
Bestie, welcome to the User Contributed Perl Documentation glow-up for donutsd, section 1 of the manual. Grab a strawberry drink π β this tool is lowkey a whole vibe.
β¨ NAME β¨
donutsd β Run the donuts syntax checker periodically and report the results to an administrator. No cap, that's the name bit.
πΈ SYNOPSIS πΈ
donutsd [-z FREQ] [-t TMPDIR] [-f FROM] [-s SMTPSERVER] [-a DONUTSARGS]
[-x] [-v] [-i zonelistfile] [ZONEFILE ZONENAME ZONECONTACT]
π¦ DESCRIPTION π¦
So donutsd runs donuts on a set of zone files every so often β the frequency is the -z flag, and it 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 donuts on a particular zone file, the results are emailed to the specified zone administrator's email address. π
π OPTIONS π
-vβ Turns on more verbose output. More yapping, more detail, iykyk.-oβ Run once and quit, as opposed to sleeping or re-running forever. One-and-done main character behavior.-aARGUMENTS β Specifies command line arguments to be passed todonutsexecutions.-zTIME β Sleeps TIME seconds between calls todonuts. The DNSSEC-Toolstimetransprogram can be used to convert from large time units (e.g., weeks and days) to seconds. Conversion slay.-eADDRESS β Mail ADDRESS with a summary of the results from all the files. These are the last few lines of thedonutsoutput for each zone that details the number of errors found. The receipts, basically.-sSMTPSERVER β When sending mail, send it to SMTPSERVER specified. The default islocalhost.-fFROMADDR β When sending mail, use FROMADDR for theFrom:address.-xβ Send the diff output in the email message as well as thedonutsoutput. Extra tea included.-tTMPDIR β Store temporary files in TMPDIR.-iINPUTZONES β See the next section for details. It's giving "the zone list goes here."
π ZONE ARGUMENTS π
The rest of the arguments to donutsd should be triplets of the following information:
- ZONEFILE β The zone file to examine. Like, the actual file, bestie.
- ZONENAME β The zonename that file is supposed to be defining. No identity crisis allowed.
- ZONECONTACT β An email address of the zone administrator (or a comma-separated list of addresses). The results will be sent to this email address. Yes, comma-separated is valid; don't leave your besties out.
Additionally, instead of listing all the zones you wish to monitor on the command line, you can use the -i 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.
Example:
db.zonefile1.com zone1.com admin@zone1.com
db.zonefile2.com zone2.com admin@zone2.com,admin2@zone2.com
For even more control, you can specify an XML file (whose name must end in .xml) that describes the same information. This also allows for per-zone customization of the donuts arguments. The XML::Smart Perl module must be installed in order to use this feature.
<donutsd>
<zones>
<zone>
<file>db.example.com</file>
<name>example.com</name>
<contact>admin@example.com</contact>
<!-- this is not a signed zone therefore we'll
add these args so we don't display DNSSEC errors -->
<donutsargs>-i DNSSEC</donutsargs>
</zone>
</zones>
</donutsd>
The donutsd tree may also contain a configs section where command-line flags can be specified:
<donutsd>
<configs>
<config><flag>a</flag><value>--features live --level 8</value></config>
<config><flag>e</flag><value>wes@example.com</value></config>
</configs>
<zones>
...
</zones>
</donutsd>
Real command line flags will be used in preference to those specified in the .xml file, however. So CLI is the main character, periodt.
π EXAMPLE π
donutsd -a "--features live --level 8" -f root@example.com \
db.example.com example.com admin@example.com
π COPYRIGHT π
Copyright 2005-2013 SPARTA, Inc. All rights reserved. See the COPYING file included with the DNSSEC-Tools package for details. Legal bestie moment.
π AUTHOR π
Wes Hardaker <hardaker@users.sourceforge.net> β the icon behind this page.
π SEE ALSO π
π Cute sign-off: this page comes from perl v5.44.0 and is dated 2026-10-17. mwah π
π¦ where this page comes from
- arch rolling: dnssec-tools 2.2.3-16 Β· BSD
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms