Я создаю скрипт для запуска нескольких серверов.Я почти закончил, однако я хочу, чтобы bash-скрипт ждал, пока не будет выполнен кикстарт сервера.
Когда кикстарт будет выполнен и сервер будет перезагружен, файл будет создан на удаленном кикстарт-сервере, расположенном под" / root / " и называется " kickstart-DONE "
Можно ли заставить скрипт bash подождать, пока он увидит этот файл, а затем опубликовать что-то вроде«Готово!» ...?
Я пытался искать на форумах и в Интернете, но, возможно, я ищу неправильно, так как не смог найти что-то подходящее для этой проблемы.Черт возьми, я даже не знаю, возможно ли это вообще.
Короче говоря;Я запускаю свой скрипт, который запускает сервер.После выполнения кикстарта на удаленном (- kickstarted) сервере будет создан файл с именем: kickstart-DONE.Для сценария это будет указанием на то, что кикстарт полностью выполнен и сервер можно использовать.Как сделать так, чтобы скрипт знал об этом?
Я надеюсь, что кто-то понимает, что я имею в виду и пытаюсь достичь ....
Заранее спасибо.
// РЕДАКТИРОВАТЬ
решено!Благодаря Коулу Тирни!
Коул Тирни дал несколько хороших ответов, однако, хотя он работает, он не ждет, пока сервер не будет запущен.Я запустил сценарий, чтобы запустить сервер, и в конце он запустил следующую команду:
ssh root@$HWNODEIP "while ! test -e /root/kickstart-DONE; do sleep 3; done; echo KICKSTART IS DONE...\!"
Однако, поскольку запуск кикстарта может занять некоторое время (в зависимости от скорости сервера и т. Д., От 15 минут до 1).час).Время ожидания команды:
ssh: подключение к хосту 100.125.150.175 порт 22: Превышено время ожидания соединения
Есть ли способ, по которому сценарий вообще не прерываетсяи поддерживает его до тех пор, пока сервер не вернется или пока он не займет более 1 часа или около того?
Может быть, есть способ заставить его показать, что скрипт все еще активен?Как "Ожидание ... 5 минут прошло".«Ожидание ... прошло 10 минут».и т.д.
Значит, он дает текущему пользователю некоторую информацию, что он не умер?