Продолжая различные комментарии, вы должны изменить сценарий, чтобы он выглядел примерно так:
#/bin/bash/
now=$(date '+%Y-%m-%d-%H')
# Creates DB snapshot
echo ---------------------------------------- >> create_snap.txt
echo Start time: >> create_snap.txt
date >> create_snap.txt
aws rds create-db-snapshot --db-instance-identifier db --db-snapshot-identifier test-for-dr-$now
while true; do
STATUS=`aws rds describe-db-snapshots --db-snapshot-identifier test-for-$now | grep "Status" | awk '{print $2}' | sed 's/[",]//g'`
if [ "$STATUS" == "available" ]; then
break
else
echo "" &> /dev/null
fi
sleep 15
done
echo Completion time: >> create_snap.txt
date >> create_snap.txt
echo ---------------------------------------- >> create_snap.txt
echo "" >> create_snap.txt
Как видите, существует единственный цикл, переменная $ STATUS обновляется в цикл и есть спящий режим 15
, чтобы избежать проблем с api