tinydyndns-update(8)

πŸ“¦ version 0.4.2.debian1, in debian bookworm, ubuntu jammy, ubuntu noble, ubuntu questing

πŸ’– 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:

  1. first it checks if the given fqdn even has a TYPE A record in data.cdb.
  2. 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.
  3. finally, if data.cdb needs to change, it 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.

so cute, so careful, so atomic. periodt. πŸ’–


✨ ENVIRONMENT ✨

  • TTL β€” time-to-live. the env var TTL overrides the default time-to-live in seconds (0 if TTD is set, otherwise 5). if TTL is not set or is zero, the time-to-live of the record will not change. $TTL must be an integer, no funny business πŸ”’
  • 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) 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. $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. (nothing to do, still slaying ✨)
  • 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

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