Сценарий оболочки для запуска, выхода и запуска других сценариев после завершения

#database #oracle #shell #automation

#База данных #Oracle #оболочка #автоматизация

Вопрос:

Я пытался автоматизировать этот процесс в сценарии оболочки в окне unix. Я новичок в сценариях оболочки. Я не смог выяснить, как определить, когда запуск для него завершен. Кроме того, как создать новый терминал и проверить domain.log на наличие нового терминала. Я был бы признателен, если кто-нибудь сможет мне помочь в этом.

 cd $/home/oracle/12/bin 
./lsnrctl start
  

Войдите в систему, sqlplus используя имя пользователя sys as sysdba и пароль: oracle3211
и запустите команду запуска базы данных startup

После запуска введите exit

—теперь запустите dbconsole

 cd $/home/oracle/12/bin 
./emctl start dbconsole
  

—откройте новый терминал и выполните это

 $/home/oracle/startWeblogic.sh
  

—дождитесь ключевого слова domain.log в файле журнала, чтобы подтвердить запуск сервера
—если сервер запущен, перейдите к следующему в новом терминале

 $/home/oracle/startManagedWeblogic.sh
  

—после этого перейдите по следующим URL-адресам

 https://178:198:29:28:1167/em (username=system1, password=oracle123)
https://178:198:29:28:1176/em (username=system2, password=oracle132)
  

Комментарии:

1. Если вы ищете способ автоматизировать процессы, а также отправлять нажатия клавиш (например, «exit»). Найдите инструмент командной строки под названием expect . Есть несколько хороших примеров, если вы искали это в Google.

2. Вы пробовали искать здесь по S.O.? Я знаю, что видел многочисленные сообщения об автоматизации доступа к Oracle. Удачи.

3. @Har Vu: Это должен быть ответ.

Ответ №1:

Похоже, вам также нужно узнать о команде GNU screen . Возможно, он уже установлен. Попробуйте screen -R -D

Если он выдает вам приглашение командной строки в верхней части экрана, то это работает. Теперь, если вы отключите свой сеанс ssh или закроете окно терминала (нажмите на крестик), при следующем входе в систему и выполнении точно такой же экранной команды вы будете повторно подключены к тому же запущенному сеансу терминала.

Это позволяет запускать сценарии и т.д. которые не останавливаются при отключении. И при повторном подключении вы можете увидеть их текущий результат.

Кроме того, у вас может быть много сеансов терминала. Ctrl-A c создает еще один. Ctrl-A [space] и Ctrl-A [backspace] переключение между сеансами в списке. Ctrl-A ? предоставляет вам все другие команды Ctrl-A, которые вы можете использовать. Например, один сеанс может быть tail logfile , в то время как другой запускает программу, ожидающую ввода.