Added files
This commit is contained in:
parent
d3d3c0f5f0
commit
abd07f8a4d
17
Cloudflare/README.md
Normal file
17
Cloudflare/README.md
Normal file
@ -0,0 +1,17 @@
|
||||
# Export_DNS
|
||||
## Cloudflare
|
||||
|
||||
Add your Cloudflare API key here. The key need to be able to read any DNS zones that you list below
|
||||
```
|
||||
API_KEY=your_single_api_key
|
||||
```
|
||||
|
||||
Add the Zone ID to the zone_id_value section and set the site_name_value to the name of the domain. This will be the name of the file that is created with the DNS infomation.
|
||||
```
|
||||
ZONE_ID_1=zone_id_value_1
|
||||
SITE_NAME_1=site_name_value_1
|
||||
|
||||
ZONE_ID_2=zone_id_value_2
|
||||
SITE_NAME_2=site_name_value_2
|
||||
```
|
||||
|
||||
9
Cloudflare/config.conf
Normal file
9
Cloudflare/config.conf
Normal file
@ -0,0 +1,9 @@
|
||||
API_KEY=your_single_api_key
|
||||
|
||||
ZONE_ID_1=zone_id_value_1
|
||||
SITE_NAME_1=site_name_value_1
|
||||
|
||||
ZONE_ID_2=zone_id_value_2
|
||||
SITE_NAME_2=site_name_value_2
|
||||
|
||||
# Add more entries as needed
|
||||
44
Cloudflare/export_dns_cloudflare.sh
Normal file
44
Cloudflare/export_dns_cloudflare.sh
Normal file
@ -0,0 +1,44 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Source the configuration file
|
||||
source config.conf
|
||||
|
||||
# Create the export folder if it doesn't exist
|
||||
EXPORT_FOLDER="export"
|
||||
mkdir -p "$EXPORT_FOLDER"
|
||||
|
||||
# Function to export DNS records
|
||||
export_dns_records() {
|
||||
local ZONE_ID=$1
|
||||
local SITE_NAME=$2
|
||||
|
||||
# Get current date and time
|
||||
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
|
||||
|
||||
# Define the output filename with timestamp
|
||||
OUTPUT_FILE="$EXPORT_FOLDER/${SITE_NAME}_$TIMESTAMP"
|
||||
|
||||
# Perform the curl request and save the output
|
||||
curl -X GET --url https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/export \
|
||||
-H "Authorization: Bearer $API_KEY" \
|
||||
-H "Content-Type: application/json" | tee "$OUTPUT_FILE"
|
||||
}
|
||||
|
||||
# Loop through the configuration entries
|
||||
i=1
|
||||
while true; do
|
||||
eval "ZONE_ID=\${ZONE_ID_$i}"
|
||||
eval "SITE_NAME=\${SITE_NAME_$i}"
|
||||
|
||||
# Break the loop if no more entries
|
||||
if [ -z "$ZONE_ID" ] || [ -z "$SITE_NAME" ]; then
|
||||
break
|
||||
fi
|
||||
|
||||
# Export DNS records for the current entry
|
||||
export_dns_records "$ZONE_ID" "$SITE_NAME"
|
||||
|
||||
# Increment the counter
|
||||
((i++))
|
||||
done
|
||||
|
||||
Loading…
Reference in New Issue
Block a user