I no longer use Namesilo's DNS service so I cannot help any issue for this script.
Dynamic DNS record update with NameSilo.
This is a Bash script to update Namesilo's DNS record when IP changed. Set to run this script as cronjob in your system.
Tested in Fedora 23, CentOS 7 and Ubuntu 14.04+.
Generate API key in the “api manager” at Namesilo
Make sure your system have command
xmllint. If not, install them:
sudo yum install bind-utils libxml2
sudo apt-get install dnsutils libxml2-utils
How to use:
- Download and save the Bash script.
- Modify the script, set “DOMAIN”, “HOST”, and “APIKEY” at the beginning of the script.
- Set file permission to make it executable.
- Create cronjob (optional)
You should test the script to verify that actually can update the DNS record at Namesilo.
Step 1: Create an A record in DNS Manager at Namesilo. Set it to a random IP address (not the same public IP of yours). For example:
test.mydomain.tld A 220.127.116.11
Step 2: Run the script to try to update this DNS record
Step 3: Verify:
dig +short test.domain.tld @ns1.dnsowl.com
(you may also try other DNS server at Namesilo, e.g.
The result should show updated DNS record with your current public IP address. (Note: DNS record update need time to propagate to other DNS server, so if your check against other DNS server you may not see the update right away.)