---
name: "nsdc"
section: "8"
platform: "linux"
package: "nsd3"
version: "3.2.12-3+deb7u1"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/nsdc"
---

# nsdc(8)

Name Server Daemon (NSD) control script.

## NAME

**nsdc** - Name Server Daemon (NSD) control script.

## SYNOPSIS

**nsdc** \[**-c** *configfile*\] *start* \| *stop* \| *reload* \| *rebuild* \| *restart* \| *running* \| *update* \| *notify* \| *patch*

## DESCRIPTION

**Nsdc** is the shell script that used to control [nsd(8)](/nsd/8.md) and [zonec(8)](/zonec/8.md) from  **NSD** distribution. **Nsdc** is also suitable to be linked into */etc/rc.d* directory on *BSD* like systems for automatic startup of [nsd(8)](/nsd/8.md) at boot time.

At every invokation, **nsdc** will try to read the [nsd.conf(5)](/nsd.conf/5.md) configuration file. An example of  such configuration file is distributed with the **NSD** package as *nsd.conf.sample*. The config file is checked for errors before it is used, see  [nsd-checkconf(8)](/nsd-checkconf/8.md).

Possible **nsdc** applications are:

- *start*

  Start [nsd(8)](/nsd/8.md).

- *stop*

  Shut down [nsd(8)](/nsd/8.md) by sending  *SIGTERM* to it.

- *reload*

  Initiate [nsd(8)](/nsd/8.md) name space database reload by sending *SIGHUP.*

- *rebuild*

  Rebuild the [nsd(8)](/nsd/8.md) database by invoking [zonec(8)](/zonec/8.md) with appropriate  arguments.

- *restart*

  Restart [nsd(8)](/nsd/8.md). This equals to nsdc stop && nsdc start.

- *running*

  Check whether [nsd(8)](/nsd/8.md) is running. Returns error message and error  code if it is not running, and no message and zero error code  otherwise.

- *update*

  Updates all the slave zones which have *allow-notify:* from localhost (127.0.0.1 or ::1) allowed. If a TSIG key is specified for the allow-notify statement in the  config file, it will be used to secure the notify. Note that NSD  keeps track of zone timeouts automatically, this is only needed if  you want to manually force updates by sending notify messages to the  localhost.

Another method you can use is to stop nsd, delete the xfrd.state file and then start nsd again. It will try to update all zones. This method does not require allow-notify: statements.

- *notify*

  Sends notify messages to all the slaves for all the zones that have the *notify:* keyword in the *nsd.conf* file. If a TSIG key is specified for a notify statement, it will be  used to secure the notification message to that slave server.

- *patch*

  Merge zone transfer changes back to zone files. It reads in the nsd  database (nsd.db) and difffile (ixfr.db), and overwrites the zone  text files if they have been updated. Running this regularly  ensures that the difffile does not grow infinitely. If any zone text files have been changed (including those of the master zones), the nsd.db is rebuild and nsd is reloaded.

## OPTIONS

- **-c *configfile***

  Specify configfile to use instead of the default */etc/nsd3/nsd.conf*.

## FILES

- /etc/nsd3/nsd.conf

  Configuration file for nsd to change default pathnames and **NSD** flags. The zone names, pathnames to zone files and access control  lists are also in [nsd.conf(5)](/nsd.conf/5.md).

- /var/lib/nsd3/nsd.db

  default **NSD** database

- /var/lib/nsd3/nsd.db.lock

  Lockfile for the **NSD** database access by operator tools.

- /var/lib/nsd3/ixfr.db

  Journal of zone transfers, the diff file containing the new zone  contents transferred.

- /var/lib/nsd3/xfrd.state

  State for the zone transfer process of  **NSD.** Contains timeouts for the zones and whether zones are expired.

- /var/run/nsd3/nsd.pid

  the process id of the name server.

## DIAGNOSTICS

**Nsdc** will return zero return code if operation was successful and an error message to standard output plus a non-zero return code otherwise.

## SEE ALSO

[nsd(8)](/nsd/8.md), [nsd.conf(5)](/nsd.conf/5.md), [nsd-checkconf(8)](/nsd-checkconf/8.md), [nsd-notify(8)](/nsd-notify/8.md),  [nsd-patch(8)](/nsd-patch/8.md), [nsd-xfer(8)](/nsd-xfer/8.md), [zonec(8)](/zonec/8.md)

## AUTHORS

**NSD** was written by NLnet Labs and RIPE NCC joint team. Please see CREDITS file in the distribution for further details.

## BUGS

Syntax checking of the config file is rudimentary and error  messages may be wrong. If you do a nsdc patch, whilst a (long) zone  transfer is busy, the zone transfer contents will be partially  lost. After a reload, this will be detected and the zone transfer  should be restarted. The reload that happens at the end of nsdc  patch also frees up memory churn in  **NSD** caused by zone transfers.
