Страница 1 из 3
Перезапуск циклов по кнопке (linux Upstart init daemon)
Добавлено: Пн июл 20, 2015 3:47 pm
Ivan
1. Создаём скрипт, например "restart_md"
Код: Выделить всё
echo shell_exec( 'sudo /var/www/restart.sh' );
2. Создаём файл в корень /var/www/restart.sh
3. Устанавливаем на него права
4. Чтобы скрипт запускался от пользователя www-data с правами root нужно в файл /etc/sudoers добавить строчку
Код: Выделить всё
www-data ALL=(root) NOPASSWD: /var/www/restart.sh
Сам файл "Upstart init daemon job configuration" описанный в
"Основной цикл Вариант 2 (например для Ubuntu)"
Код: Выделить всё
description "MajorDoMo"
author "http://smartliving.ru"
start on runlevel [2345]
stop on runlevel [!2345]
console none
respawn
script
exec /usr/bin/php /var/www/cycle.php
end script
Теперь запуская скрипт "restart_md". У вас будут перезапускаться циклы
Re: Перезапуск циклов по кнопке (linux Upstart init daemon)
Добавлено: Вт июл 21, 2015 9:26 am
skysilver
Для полноты картины не хватает исходника самого upstart-скрипта запуска/остановки циклов majordomo.

Re: Перезапуск циклов по кнопке (linux Upstart init daemon)
Добавлено: Вт июл 21, 2015 10:05 am
Ivan
Для полноты "Квадрата Малевича" добавил рамочку

Re: Перезапуск циклов по кнопке (linux Upstart init daemon)
Добавлено: Пт дек 18, 2015 11:25 am
Amarok
А как этот сценарий выполнять автоматически? Ну, к примеру, цикл main упал и система сама выполнила sudo restart majordomo.
Re: Перезапуск циклов по кнопке (linux Upstart init daemon)
Добавлено: Пт дек 18, 2015 3:45 pm
Anton_kulibin
Amarok писал(а):А как этот сценарий выполнять автоматически? Ну, к примеру, цикл main упал и система сама выполнила sudo restart majordomo.
На сколько я знаю, main сам рестартует после падения. Ну сколько я замечал у себя.
Re: Перезапуск циклов по кнопке (linux Upstart init daemon)
Добавлено: Пт дек 18, 2015 4:15 pm
Amarok
Не всегда(
Re: Перезапуск циклов по кнопке (linux Upstart init daemon)
Добавлено: Пт дек 18, 2015 4:36 pm
savenko_egor
Amarok писал(а):А как этот сценарий выполнять автоматически? Ну, к примеру, цикл main упал и система сама выполнила sudo restart majordomo.
Можно сделать чтобы этот скрипт запускался при старте системы и висел в режиме сна, просыпался в определённое время (например каждые 10 минут), проверял запущен ли главный цикл (ps ax | grep 'cycle_main.php') и выполнял что нужно. Если цикла нет, значит запуск, если цикл есть в сон до следующего раза.
Это же Linux. Вороти - не хочу

Re: Перезапуск циклов по кнопке (linux Upstart init daemon)
Добавлено: Сб дек 19, 2015 7:20 am
Amarok
Я с пингвинами -- полный дурак ещё(
Потому и спрашиваю

Re: Перезапуск циклов по кнопке (linux Upstart init daemon)
Добавлено: Вт фев 16, 2016 10:44 pm
devoff
на удивление, у меня заработало прям из МЖД через PHP -
просто команда -
Код: Выделить всё
safe_exec ('sudo service majordomo restart');
таким же путем даже смог перезагрузить систему -
Re: Перезапуск циклов по кнопке (linux Upstart init daemon)
Добавлено: Ср фев 17, 2016 6:56 pm
Ivan
Значит у вас www запущен от рута. А это не безопасно.