% WTDNS-MAINTAIN(8) - WtDNS dynamic DNS maintainer
% Jonas Eckerman <jonas@truls.org>
% 2012-10-16 15:09:07 UTC (v0.005)

# NAME

wtdns-maintain - WtDNS dynamic DNS maintainer

# SYNOPSIS

	wtdns-maintain

# DESCRIPTION

The **wtdns-maintain** utility is meant to be executed regularly to clean up
old dynamic DNS records used by WtDNSd.

It checks the last modified time of records it finds in the dynamic DNS domain
and has write access for. If a record is too old it either replaces it with a
fallback record or deletes it (depending on configuration and age). Records
for wildcard domains are not checked.

You do not need to run **wtdns-maintain** if you use the _-ddto_ option with
**wtdnsd**, but you may still want to.

## Mixing dynamic and normal records

To protect records that are not dynamic, make sure the user **wtdns-maintain**
runs as does not have write access to them. **wtdns-maintain** checks for
write access to both the directory and file before modifying or deleting a
record.

# CONFIGURATION

The following global options are recognized in the configuration file.

debug = yes/no
:	If this is on, some programs will just list/log what they would do if
	it was off without actually doing it.

datadir = directory
:	The directory where WtDNS resource records are stored.
	Default is "/var/lib/wtdns".

domain = domainname
:	The base domain for dynamic DNS.
	**wtdns-maintain** will only check records for subdomains of this
	domain.

hashing = yes/no
:	Wether to use the hash part in the domain name paths or not.
	For small sites turning of hashing might make things easier for the
	administrator. Default is to use hashing.

oldhash = yes/no
:	If on, WtDNS will omit the '#' i front of the hash, wich makes it
	compatible with the oriinal SheerDNS software.

user = user
:	If the program is started as root it will change into this user before
	starting it's work.

group = group
:	If the program is started as root it will change into this group before
	starting it's work.

groups ( grouplist )
:	If the program is started as root it will change supplemental groups
	into this list before starting it's work.

fallback = time
:	Records older than this time will be replaced with fallback values (if
	avalilable).

purge = time
:	Records older than this time will be deleted.

## Times

The values for "fallback" and "time" are specified as durations, in this style:

	99m 18s

## fallbacks

The [fallback] section specified what fallback values to use for records.
Options are specified as

	TYPE = fallbackvalue

where TYPE is the resource record type in uppercase (same as the file names)
and fallbackvalue is the resource record content.

# FILES

/var/lib/wtdns
:	All resource records are stored in this directory.

/etc/wtdns/wtdns.ini
:	The global configuration file.

