Files
scwrypts/zsh/cloud/aws/route53/backup
T

37 lines
874 B
Bash
Raw Normal View History

2022-04-28 16:09:23 -06:00
#!/bin/zsh
2023-02-21 18:44:27 -07:00
DEPENDENCIES+=(cli53)
REQUIRED_ENV+=(AWS_PROFILE)
CHECK_ENVIRONMENT
2022-04-28 16:09:23 -06:00
#####################################################################
2023-02-21 18:44:27 -07:00
ROUTE53_BACKUP() {
2022-04-28 16:09:23 -06:00
local BACKUP_PATH="$SCWRYPTS_OUTPUT_PATH/$ENV_NAME/aws-dns-backup/$(date '+%Y-%m-%d')"
mkdir -p $BACKUP_PATH >/dev/null 2>&1
local DOMAIN
local JOBS=()
2023-02-21 18:44:27 -07:00
for DOMAIN in $(ROUTE53_GET_DOMAINS)
2022-04-28 16:09:23 -06:00
do
2023-02-21 18:44:27 -07:00
( STATUS "creating '$BACKUP_PATH/$DOMAIN.txt'" \
2022-08-15 18:30:37 -06:00
&& cli53 export --profile $AWS_PROFILE $DOMAIN > "$BACKUP_PATH/$DOMAIN.txt" \
2023-02-21 18:44:27 -07:00
&& SUCCESS "backed up '$DOMAIN'" \
|| ERROR "failed to back up '$DOMAIN'" \
2022-04-28 16:09:23 -06:00
) &
JOBS+=$!
done
local P
for P in ${JOBS[@]}; do wait $P >/dev/null 2>&1; done
}
2023-02-21 18:44:27 -07:00
ROUTE53_GET_DOMAINS() {
2022-08-15 18:30:37 -06:00
cli53 list --profile $AWS_PROFILE \
2022-04-28 16:09:23 -06:00
| awk '{print $2;}' \
| sed '1d; s/\.$//'\
;
}
#####################################################################
2023-02-21 18:44:27 -07:00
ROUTE53_BACKUP