tinydyndns-update(8)
π tinydyndns-update β bestie's guide to the System Manager's Manual, section 8 π
okay so real talk, this one is tinydyndns-update(8) and it lives in the System Manager's Manual, and it is exactly the little tool you want when you need to poke a TYPE A record in data.cdb. it's giving "tiny but mighty" β¨
πΈ NAME πΈ
tinydyndns-update β update TYPE A record in data.cdb
π SYNOPSIS π
tinydyndns-update fqdn dynip
like. two args. that's the whole vibe. π«Ά
π¦ DESCRIPTION π¦
so tinydyndns-update changes the data of a TYPE A record in data.cdb in the current directory. and here's the tea: unlike tinydns-data(8), our girl tinydyndns-update does not know about the source file data, it goes straight for the binary database data.cdb and edits it directly. no middleman, no drama π
here's the lil choreography it does, step by step:
- first it checks if the given fqdn even 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.cdbneeds to change, it copiesdata.cdbtodata.tmp, changes the IP address of the TYPE A record of fqdn to dynip indata.tmp, optionally adjusts time-to-live or time-to-die, and renamesdata.tmptodata.cdb.
so cute, so careful, so atomic. periodt. π
β¨ ENVIRONMENT β¨
TTLβ time-to-live. the env varTTLoverrides the default time-to-live in seconds (0 ifTTDis set, otherwise 5). ifTTLis not set or is zero, the time-to-live of the record will not change.$TTLmust be an integer, no funny business π’TTDβ time-to-die.$TTDmust be an integer, specifying a number of seconds. ifTTDis set, the timestamp of the record is set to the current time plus$TTDseconds, andTTLis set to zero by default, so thattinydns(8)interprets the timestamp as time-to-die. π
β οΈ note note note: you probably want to adjust SOA ttl, or create a wildcard record, to prevent DNS caches from caching nxdomain, when using this feature. this is not a drill bestie π
LOCβ location.$LOCmust be two characters long. ifLOCis set, it specifies the client location for records to be updated. π
π EXIT CODES π
- if
tinydyndns-updatecannot find a TYPE A record for fqdn indata.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 variableTTDis not set,tinydyndns-updateprints a note and exits 0. (nothing to do, still slaying β¨) tinydyndns-updateexits 100 if it has trouble openingdata.cdb, and leavesdata.cdbunchanged. πtinydyndns-updateexits 111 on temporary error, and leavesdata.cdbunchanged. π΅βπ«- if
data.cdbwas changed successfully,tinydyndns-updateexits 0. π
π FILES π
./data.cdb
./data.tmp
just those two, right in the current directory. the source of truth and the lil glow-up copy π§
β SEE ALSO β
π AUTHOR π
Gerrit Pape <pape@smarden.org>
okay bestie that's the whole page!! it's from the System Manager's Manual β tinydyndns-update(8), section 8, no date on this one β and that's a wrap. go update your records responsibly, mwah πππ¦
π¦ where this page comes from
- debian bookworm: tinydyndns 0.4.2.debian1-2 Β· LicenseRef-public-domain
- ubuntu jammy: tinydyndns 0.4.2.debian1-2 Β· LicenseRef-public-domain
- ubuntu noble: tinydyndns 0.4.2.debian1-2 Β· LicenseRef-public-domain
- ubuntu questing: tinydyndns 0.4.2.debian1-4
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms