G. Pape
tinydyndns

Name

tinydyndns-update - update TYPE A record in data.cdb

Synopsis

tinydyndns-update fqdn dynip

Description

tinydyndns-update changes the data of a TYPE A record in data.cdb in the current directory. Other than tinydns-data(8), tinydndns-update does not know about the source file data but changes the binary database data.cdb directly.

First tinydyndns-update checks if the given fqdn has a TYPE A record in data.cdb. Then it checks if the given IP address differs from the one in the TYPE A record in data.cdb, or if the record’s timestamp should be updated. Finally if data.cdb needs to change, tinydyndns-update copies data.cdb to data.tmp, changes the IP address of the TYPE A record of fqdn to dynip in data.tmp, optionally adjusts time-to-live or time-to-die, and renames data.tmp to data.cdb.

Environment

TTL
time-to-live. The environment variable TTL overrides the default time-to-live in seconds (0 if TTD is set, otherwise 5). If TTL is not set or zero, the time-to-live of the record will not change. $TTL must be an integer.
TTD
time-to-die. $TTD must be an integer, specifying a number of seconds. If TTD is set, the timestamp of the record is set to the current time plus $TTD seconds, and TTL is set to zero by default, so that tinydns(8) interpretes the timestamp as time-to-die. Note: you probably want to adjust SOA ttl, or create a wildcard record, to prevent DNS caches from caching nxdomain, when using this feature.
LOC
location. $LOC must be two characters long. If LOC is set, it specifies the client location for records to be updated.

Exit Codes

If tinydyndns-update cannot find a TYPE A record for fqdn in data.cdb, it prints a warning and exits 114.

If dynip does not differ from the IP address of the TYPE A record of fqdn in data.cdb, and the environment variable TTD is not set, tinydyndns-update prints a note and exits 0.

tinydyndns-update exits 100 if it has trouble opening data.cdb, and leaves data.cdb unchanged.

tinydyndns-update exits 111 on temporary error, and leaves data.cdb unchanged.

If data.cdb was changed successfully, tinydyndns-update exits 0.

Files

./data.cdb
./data.tmp

See Also

tinydyndns-data(8), tinydyndns-conf(8)

http://smarden.org/tinydyndns/

Author

Gerrit Pape <pape@smarden.org>


Table of Contents