12 lines
538 B
Bash
Executable File
12 lines
538 B
Bash
Executable File
#!/bin/bash
|
|
|
|
# Get public IP address (there are many ways to do it, I picked this way)
|
|
PUBLIC_IP=$(curl -4 ifconfig.me)
|
|
# Update *.{{ fqdn }} and {{ fqdn }}
|
|
cat /etc/ddns/record_template.json \
|
|
| jq '.Changes[0].ResourceRecordSet.ResourceRecords[0].Value = "'$PUBLIC_IP'"' \
|
|
| jq '.Changes[1].ResourceRecordSet.ResourceRecords[0].Value = "'$PUBLIC_IP'"' \
|
|
> /etc/ddns/record.json
|
|
# aws cli to update a record
|
|
aws route53 change-resource-record-sets --hosted-zone-id {{ hosted_zone_id }} --change-batch file:///etc/ddns/record.json
|