34 lines
830 B
Bash
Executable File
34 lines
830 B
Bash
Executable File
#!/bin/zsh
|
|
DEPENDENCIES+=(cli53)
|
|
REQUIRED_ENV+=(AWS_PROFILE)
|
|
#####################################################################
|
|
|
|
MAIN() {
|
|
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=()
|
|
for DOMAIN in $(ROUTE53_GET_DOMAINS)
|
|
do
|
|
( STATUS "creating '$BACKUP_PATH/$DOMAIN.txt'" \
|
|
&& cli53 export --profile $AWS_PROFILE $DOMAIN > "$BACKUP_PATH/$DOMAIN.txt" \
|
|
&& SUCCESS "backed up '$DOMAIN'" \
|
|
|| ERROR "failed to back up '$DOMAIN'" \
|
|
) &
|
|
JOBS+=$!
|
|
done
|
|
|
|
local P
|
|
for P in ${JOBS[@]}; do wait $P >/dev/null 2>&1; done
|
|
}
|
|
|
|
#####################################################################
|
|
|
|
ROUTE53_GET_DOMAINS() {
|
|
cli53 list --profile $AWS_PROFILE \
|
|
| awk '{print $2;}' \
|
|
| sed '1d; s/\.$//'\
|
|
;
|
|
}
|