উত্তর:
হ্যাঁ, এটি আরও বন্ধুত্বপূর্ণ উপায় হতে পারে। আমি cli53 সরঞ্জামটি https://github.com/barnybug/cli53 ব্যবহার করার পরামর্শ দিচ্ছি
আপনি এটি সেটআপ করার পরে, চেষ্টা করুন
cli53 রফতানি - সম্পূর্ণ বিজ্ঞান। com
এবং আপনি বাইন্ড ফর্ম্যাটে এক্সপোর্ট জোন পাবেন।
অতিরিক্ত সফ্টওয়্যার ইনস্টলেশন প্রয়োজন নেই। আপনার কেবল অ্যাসক্র্লি দরকার।
আমি স্রেফ যা লিখেছিলাম তা এখানে। এটি সহজ এবং কবজির মতো কাজ করে।
#!/bin/bash -e
#
# Author: Peycho Dimitrov
#
# DESCRIPTION
#
# Create full backup of all hosted Route53 zones / domains in your account.
#
# REQUIREMENTS
#
# Available s3 bucket (where your json files will be saved)
# awscli (with cofigured credentials or IAM role)
# gzip
# awk
#
####################################
# CONFIGURATION
region="us-east-1" # Your aws region
b_route53_tmp="/tmp/r53_backup" # Your temp directory
b_route53_bucket="s3://my-backups/route53" # Your backup folder in s3.
# END OF CONFIGURATION
# Do not edit here if you don't know what your're doing! #
mkdir -p $b_route53_tmp
echo "$(date) Backup all Route53 zones and resource records."
p_aws="$(which aws) --region $region"
r53_zones=$($p_aws route53 list-hosted-zones --query '[HostedZones[*].[Id, Name]]' --output text | awk -F'/' '{print $3}')
if [ ! -z "$r53_zones" ]; then
while read route; do
zone=$(echo "$route" | awk '{print $1}')
domain=$(echo "$route" | awk '{print $2}')
echo "Processing $zone / $domain"
$p_aws route53 list-resource-record-sets --hosted-zone-id "$zone" --output json > "$b_route53_tmp"/$(date +%Y%m%d%H%M%S)-"$zone"-"$domain"backup.json
done <<<"$r53_zones"
echo "Archive json files."
gzip "$b_route53_tmp"/*backup.json
echo "Backup $zone / $domain data to $b_route53_bucket/$(date +%Y)/$(date +%m)/$(date +%d)/"
$p_aws s3 cp "$b_route53_tmp"/ $b_route53_bucket/$(date +%Y)/$(date +%m)/$(date +%d)/ --exclude "*" --include "*.gz" --recursive
fi
echo "$(date) Done!"
আপনি যদি বাঁধার বিন্যাসে রফতানি করতে চান, আপনি এই স্ক্রিপ্টটি ব্যবহার করতে পারেন:
#!/bin/bash
zonename=$1
hostedzoneid=$(aws route53 list-hosted-zones | jq -r ".HostedZones[] | select(.Name == \"$zonename.\") | .Id" | cut -d'/' -f3)
aws route53 list-resource-record-sets --hosted-zone-id $hostedzoneid --output json | jq -jr '.ResourceRecordSets[] | "\(.Name) \t\(.TTL) \t\(.Type) \t\(.ResourceRecords[].Value)\n"'
এডাব্লুএস রুটে 53 তে একটি হোস্টেড জোন রফতানি করতে, এই পদক্ষেপগুলি অনুসরণ করুন (ধরুন যে আপনি উদাহরণ.কম হোস্টেড জোন ব্যবহার করছেন):
পদক্ষেপ 1: ইনস্টলেশন - pip install route53-transfer
পদক্ষেপ 2: একটি CSV ফাইলে জোনটি ব্যাকআপ করুন:
route53-transfer dump example.com backup.csv
কোনও ফাইলের পরিবর্তে STDOUT ব্যবহার করুন
route53-transfer dump example.com –
পদক্ষেপ 3: একটি অঞ্চল পুনরুদ্ধার করুন:
route53-transfer load example.com backup.csv
-
পরিবর্তে STDIN থেকে লোড করতে ব্যবহার করুন
অ্যাকাউন্টগুলির মধ্যে স্থানান্তরিত করুন:
অ্যাক্সেস এবং গোপন কীগুলি ওভাররাইড করার জন্য কমান্ড লাইন সুইচগুলি ব্যবহার করুন:
route53-transfer --access-key-id=ACCOUNT1 --secret-key=SECRET dump example.com
route53-transfer --access-key-id=ACCOUNT2 --secret-key=SECRET load example.com
আপনি যদি বেসরকারী অঞ্চলগুলির সাথে কাজ করছেন তবে –private
ব্যক্তিগত ডোমেনগুলি আলাদা করতে ব্যবহার করুন :
route53-transfer --private dump example.com example-private.csv
route53-transfer dump example.com example-public.csv
আপনি ক্লাউডফ্লেয়ার.কমের জন্য সাইন আপ করতে পারেন এবং একটি বিনামূল্যে ওয়েবসাইট যুক্ত করতে পারেন।
ক্লাউডফ্লেয়ার আপনার ডিএনএসকে এর বোর্ডিংয়ের অংশ হিসাবে স্ক্যান করবে।
ডিএনএস রেকর্ডগুলির নীচে "অ্যাডভান্সড" এ আমদানির পরে (বা হতে পারে), সেখানে একটি এক্সপোর্ট ডিএনএস ফাইল বোতাম রয়েছে button