---
name: "tinydyndns-update"
section: "8"
platform: "linux"
package: "tinydyndns"
version: "0.4.2.debian1-2"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/tinydyndns-update"
---

# tinydyndns-update(8)

update TYPE A record in data.cdb

## 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)](/tinydns-data/8.md), **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)](/tinydns/8.md) interprets 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-data/8.md), [tinydyndns-conf(8)](/tinydyndns-conf/8.md)

http://smarden.org/tinydyndns/

## AUTHOR

Gerrit Pape \<pape@smarden.org\>
