gpu*_*upo 20 domain-name-system amazon-web-services amazon-route53
我看不到导出域设置备份的选项。
也许我应该用dig保存公共DNS的结果,但我会问朋友是否知道更好的方法。
小智 32
是的,它可以是更友好的方式。我建议使用 cli53 工具,https://github.com/barnybug/cli53
设置好后试试
cli53 导出 --full sciworth.com
并且您以绑定格式获得导出区域。
无需额外安装软件。您只需要 awscli。
这是我刚刚写的。它很简单,就像魅力一样。
#!/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!"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27595 次 |
| 最近记录: |