Вопрос:Запуск КРОС после сбоя по питанию
!!!ВНИМАНИЕ!!!
В случае, когда для проверки запуска PostgreSQL, был использован наш скрипт, в дальнейшем команда start/stop/restart для smpo-server будет иметь вид:
service smpo-server start/stop/restart
Иногда возникает проблема старта сервиса smpo-server после сбоя по электропитанию. Решение данного вопроса требует некоторых действий на уровне ОС.
Данная проблема связана со спецификой ведения контроля запущенных процессов в ОС семейства Linux, где в качестве контроля работы процессов используется создание файлов с индексом процесса.
Поэтому, после аварийного выключения компьютера(то же самое, что и нажать кнопку "Резет"), файлы контроля процессов могут не удаляться, особенно в том случае, если они хранятся в нестандартном
месте.
Для восстановления работы комплекса рекомендуется выполнить следующие действия:
1. После загрузки ОС необходимо запустить "Terminal Fly": "Пуск"->"Системные"->"Terminal Fly"
2. Все действия необходимо выполнить с правами суперпользователя, поэтому выполняем команду: sudo su
3. Проверяем запущен ли PostgreSQL: ps -aux|grep postgres
В результате выполнения команды, Вы должны получить примерно следующий отклик системы
В этом случае Вам необходимо перезагрузить сервис smpo-server: /etc/init.d/smpo-server restart
Далее переходим к пункту 7
4. Если отклик системы отличается от изображения в п.3, тогда выполняем следующие команды
systemctl stop postgresql
/etc/init.d/smpo-server stop
ps -aux|grep smpo
Отклик системы должен выглядеть примерно таким образом:
4.1. Если отклик системы выглядит следующим образом:
То это говорит о том, что процесс не выгружен. В этом случае необходимо выполнить следующие команды:
kill -9 <номер процесса> - в нашем примере номера процессов 19360 и 19378
5. Далее необходимо удалить файлы фиксирующие статус выполнения сервиса smpo-server:
rm /usr/local/smpo-server/conf/pid
rm /usr/local/smpo-server/conf/smpo.active
6. Запускаем сервисы:
systemctl start postgresql
/etc/init.d/smpo-server start
Для проверки выполнения команд набрать:
ps -aux|grep postgres
Отклик системы должен выглядеть, как на рисунке в п.3
7. Далее в браузере проверяем работу КРОС.
Так же Вы можете воспользоваться файлом rescuesmpo.sh для выполнения действий без внешнего контроля.
Необходимо скачать файл и выполнить его в окне терминала. Для этого необходимо выполнить следующие действия:
1. После загрузки ОС необходимо запустить "Terminal Fly": "Пуск"->"Системные"->"Terminal Fly"
2. Перейти в каталог, куда сохранен, скачанный файл. По-умолчанию это каталог Загрузки: cd Загрузки
3. Выполнить запуск скрипта: sh ./rescuesmpo.sh
4. Проверить запуск КРОС в браузере.
Так же, можно попробовать, автоматизировать процесс проверки запуска PostgreSQL после аварийного выключения.
В начало статьи