summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Crute <mcrute@gmail.com>2015-12-13 17:48:50 -0800
committerMike Crute <mcrute@gmail.com>2015-12-13 17:48:50 -0800
commit75248d48862c884b5461059a8ca78f75fa0314da (patch)
treea0743290dc273b8a34f96419cffd1e0605752152
downloaddynamic_dns-75248d48862c884b5461059a8ca78f75fa0314da.tar.bz2
dynamic_dns-75248d48862c884b5461059a8ca78f75fa0314da.tar.xz
dynamic_dns-75248d48862c884b5461059a8ca78f75fa0314da.zip
Initial import
-rwxr-xr-xddns.sh28
1 files changed, 28 insertions, 0 deletions
diff --git a/ddns.sh b/ddns.sh
new file mode 100755
index 0000000..6685597
--- /dev/null
+++ b/ddns.sh
@@ -0,0 +1,28 @@
1#!/bin/bash
2
3set -e
4
5UPDATE_FILE=$(tempfile -p ddns-)
6IP_ADDR=$(curl -ks https://mike.crute.me/ip)
7ZONE_ID=""
8HOSTNAME=""
9
10# Assert valid format of IP
11echo $IP_ADDR | egrep "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" > /dev/null 2>&1
12
13cat > $UPDATE_FILE <<EOF
14{ "Changes": [{
15 "Action": "UPSERT",
16 "ResourceRecordSet": {
17 "Name": "$HOSTNAME",
18 "Type": "A",
19 "TTL": 60,
20 "ResourceRecords": [{ "Value": "$IP_ADDR" }]
21 }}]
22}
23EOF
24
25aws route53 change-resource-record-sets --profile snoopydyndns --hosted-zone-id $ZONE_ID --change-batch "file://$UPDATE_FILE" > /dev/null
26rm $UPDATE_FILE
27
28logger "DDNS update completed"