Перезапуск циклов по кнопке (linux Upstart init daemon)

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

PAV
Сообщения: 949
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 68 раз
Поблагодарили: 94 раза

Re: Перезапуск циклов по кнопке (linux Upstart init daemon)

Сообщение PAV » Пн июл 11, 2016 3:53 pm

Скажите, что делаю не так?

Создал скрипт /srv/www/restart.sh с содержанием:

Код: Выделить всё

#!/bin/bash
service majordomo restart
Дал права, как в инструкции
Пробую запустить скрипт - получаю Failed to restart majordomo.service: Unit Majordomo.service failed to load: no such file or directory.
Sas
Сообщения: 207
Зарегистрирован: Вт июл 12, 2016 6:16 pm
Благодарил (а): 2 раза
Поблагодарили: 14 раз

Re: Перезапуск циклов по кнопке (linux Upstart init daemon)

Сообщение Sas » Ср июл 13, 2016 4:41 pm

Для linux систем отличных от убунты:

Код: Выделить всё

sudo nano /etc/systemd/system/majordomo.service
пишем туда примерно такое
заменяя пути к пхп и МЖ на свои
СпойлерПоказать

Код: Выделить всё

[Unit]
Description=MajorDomo daemon
Requires=network.target
After=dhcpcd.service


[Install]
WantedBy=default.target

[Service]
Type=simple
ExecStart=/usr/bin/php /home/majordomo/cycle.php
execStop=/usr/bin/pkill -f cycle_*
User=www-data
Group=www-data

KillSignal=SIGKILL
KillMode=control-group
RestartSec=1min
Restart=on-failure
сохраняем и добавляем в загрузку при включении/перезагрузке

Код: Выделить всё

sudo systemctl enable majordomo
запускаем МЖ, проверяем работает ли и пользователя от которого

Код: Выделить всё

sudo systemctl start majordomo  && ps axu |grep cycle.php |grep -v grep
в ответ должны получить что то типа:

Код: Выделить всё

www-data   432  0.1  2.1  57992 20188 ?        Ss   15:42   0:00 /usr/bin/php /home/majordomo/cycle.php
Можно перегрузить и проверить (ps как выше) стартует ли сервис и правильно он это делает.
Пишем скрипт перезагрузки МЖ

Код: Выделить всё

nano /home/majordomo/restart.sh
такого содержания

Код: Выделить всё

#!/bin/bash
sudo systemctrl restart majordomo
Сохраняем и выставляем разрешение на запуск и пользователя

Код: Выделить всё

sudo chown www-data:www-data /home/majordomo/restart.sh
sudo chmod 755 /home/majordomo/restart.sh
После создаем скрипт в МЖ как на первой странице и условие по его запуску.
Если буде время может перепишу скрипты на перезапуск отдельных "упавших" циклов так как у меня иногда валится "телеграм"

*** Сообщение запрещено. Сообщение похоже на спам. ***
Последний раз редактировалось Sas Вт янв 03, 2017 12:22 pm, всего редактировалось 1 раз.
Alexiy2
Сообщения: 104
Зарегистрирован: Вт май 12, 2015 9:59 pm
Благодарил (а): 16 раз
Поблагодарили: 13 раз

Re: Перезапуск циклов по кнопке (linux Upstart init daemon)

Сообщение Alexiy2 » Вс ноя 20, 2016 6:06 pm

Господа! Помогите!
Имеется debian7 с majordomo на борту. Попытался установить кнопку на перезапуск циклов по первому топику - ни чего не вышло (я так понимаю, что там используется SysV initd). Дочитал тему до конца и наткнулся на сообщение уважаемого Sas! Почитал и начал делать по его инструкции. Т.к. debian не содержит пакета systemd, я его установил, создал majordomo.service и все в него в писал согласно инструкции. А вот при добавлении этого файла в загрузку получаю такое сообщение:
# systemctl enable majordomo
Failed to issue method call: Invalid argument

Помогите, кто знает!!!
Sas
Сообщения: 207
Зарегистрирован: Вт июл 12, 2016 6:16 pm
Благодарил (а): 2 раза
Поблагодарили: 14 раз

Re: Перезапуск циклов по кнопке (linux Upstart init daemon)

Сообщение Sas » Вс ноя 20, 2016 8:46 pm

Положить файл в диру /etc/systemd/
В дебиане 7 вроде системд дефолтный нет?
А теперь и в убунте:)
Alexiy2
Сообщения: 104
Зарегистрирован: Вт май 12, 2015 9:59 pm
Благодарил (а): 16 раз
Поблагодарили: 13 раз

Re: Перезапуск циклов по кнопке (linux Upstart init daemon)

Сообщение Alexiy2 » Вс ноя 20, 2016 10:10 pm

Не помогло! Все тот же ответ системы! Что еще можно предпринять?

Отправлено с моего SM-T116 через Tapatalk
server
Сообщения: 47
Зарегистрирован: Ср окт 12, 2016 11:21 pm
Благодарил (а): 18 раз
Поблагодарили: 7 раз

Re: Перезапуск циклов по кнопке (linux Upstart init daemon)

Сообщение server » Пт янв 20, 2017 1:50 pm

Sas писал(а):Для linux систем отличных от убунты:
..............................................................................................

Код: Выделить всё

#!/bin/bash
sudo systemctrl restart majordomo
Сохраняем и выставляем разрешение на запуск и пользователя
................................................................................................
Ошибка в команде sudo systemctl restart majordomo лишняя буква r

И еще вопрос как записать правильно шаблон чтобы он запускал сценарий
Написал так , но не хочет запускать.

Код: Выделить всё

runScript('Restart_cycle');
sayReply ("Пере запускаю Главный цикл",2); 
CimVit
Сообщения: 5
Зарегистрирован: Сб ноя 08, 2014 2:41 am
Благодарил (а): 0
Поблагодарили: 0

Re: Перезапуск циклов по кнопке (linux Upstart init daemon)

Сообщение CimVit » Чт фев 23, 2017 5:34 pm

Сервер на RaspberryPi 3 часто останавливаются циклы. вроде бы все делаю по инструкции выше, один раз помогло сейчас таже песня но не чего не помогает. я полный чайник в этом может есть где нибудь инстр. так сказать на пальцах
Вложения
log.txt
(5.97 КБ) 743 скачивания
PAV
Сообщения: 949
Зарегистрирован: Пт дек 06, 2013 11:30 am
Откуда: Москва
Благодарил (а): 68 раз
Поблагодарили: 94 раза

Re: Перезапуск циклов по кнопке (linux Upstart init daemon)

Сообщение PAV » Вт мар 07, 2017 6:44 pm

"Простите меня дуру грешную" Не понял я ничего. Точнее понял, но чую запутался.

(МОЛЮ!!!) Можно попросить еще раз для идиотов, как сделать так, чтобы, например, Cubietruck (Debian) перезапустился по кнопке.
С минимальным вмешательством в существующий код МЖД.

Т.е. я научился перезапускать вес кубик:
запускаем Visudo
добавляем строку www-data ALL=(root) NOPASSWD: /sbin/reboot
Ctrl-x соглашаемся с заменой

Создаю в МЖД скрипт:
say("Сервер перезагружается", 2);
sleep(3);
safe_exec ('sudo /sbin/reboot');

При запуске скрипта профит.

Как теперь так же просто перезагрузить МЖД, без перезагрузки всей машины?
Ответить