Skip to content
Python script to perform dynamic DNS using AWS Route53 on a Raspberry Pi or other Linux hosts
Python
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE
PynamicDNS.py
README.md

README.md

PynamicDNS

Python script to perform dynamic DNS using AWS Route53 on a Raspberry Pi or other Linux hosts

See this post at tynick.com for full instructions.

Run Manually

You can run the script manually to test.

It will look something like the following if your public IP doesn't match your DNS record...

root@raspberrypi:~# python3 ~/PynamicDNS/PynamicDNS.py pynamicdns.tynick.com X0XXXXXX000X0
---------------------------
Public IP:             xx.xx.xx.xx
pynamicdns.tynick.com: yy.yy.yy.yy
---------------------------
DNS VALUE DOES NOT MATCH PUBLIC IP
DNS CHANGE SUCCESSFUL
root@raspberrypi:~#

It will look something like the following if your public IP matches your DNS record...

root@raspberrypi:~# python3 ~/PynamicDNS/PynamicDNS.py pynamicdns.tynick.com X0XXXXXX000X0
---------------------------
Public IP:             xx.xx.xx.xx
pynamicdns.tynick.com: xx.xx.xx.xx
---------------------------
NO CHANGE NEEDED
root@raspberrypi:~#

Run Via Cron

Once you confirm that it is working, you'll want to make a new cronjob so that it checks your IP every 5 minutes.

*/5 * * * * python3 ~/PynamicDNS/PynamicDNS.py pynamicdns.tynick.com X0XXXXXX000X0
You can’t perform that action at this time.