У меня есть код в скрипт следующим образом:код идет в бесконечном цикле
# Setup the command.
command=`ec2-describe-snapshots | grep pending | wc -l`
# Check if we have any pending snapshots at all.
if [ $command == "0" ]
then
echo "No snapshots are pending."
ec2-describe-snapshots
else
# Wait for the snapshot to finish.
while [ $command != "0" ]
do
# Communicate that we're waiting.
echo "There are $command snapshots waiting for completion."
sleep 5
# Re run the command.
command=`ec2-describe-snapshots | grep pending | wc -l`
done
# Snapshot has finished.
echo -e "\n"
echo "Snapshots are finished."
fi
Этот код иногда работает нормально, иногда DonT работает отлично. Он переходит в бесконечный цикл. Я хочу сделать что-то подобное, я хочу проверить вывод ec2-describe-snapshot
, что если snaphost находятся в состоянии ожидания. если да, то он должен дождаться завершения всех снимков.
Выход EC2-описывают-снимки является
SNAPSHOT snap-104ef62e vol-a8 completed 2013-12-12T05:38:28+0000 100% 109030037527 20 2013-12-12: Daily Backup for i-3ed09 (VolID:vol-aecbbcf8 InstID:i-3e2bfd09)
SNAPSHOT snap-1c4ef622 vol-f0 pending 2013-12-12T05:38:27+0000 100% 109030037527 10 2013-12-12: Daily Backup for i-260 (VolID:vol-f66a0 InstID:i-2601)
Подсказка, возможно, используйте 'logger' внутри вашего скрипта. –
что это? Я ничего не получаю – user3086014
Ваша команда 'echo' показывает, что есть нулевое количество моментальных снимков, ожидающих завершения? Или вы видите «Есть 0 моментальных снимков, ожидающих завершения», и он все еще петли? –