
V
14.10.2018
20:59:06
это вообще реально сделать или только через консоль?

Денис
14.10.2018
20:59:24
всё реально

V
14.10.2018
21:01:59
ну как это сделать? я и через пхп и через CGI пробую нихрена( в консоле скрипты отрабатывают
как только пытаюсь через веб открыть нихрена!

Google

Ladone
14.10.2018
21:04:30
На пример делать Кроном опросс бд раз в минуту?
Или больше интервал
Сделать таблицу в которой будут служебные флаги и по ним смотреть

Денис
14.10.2018
21:06:56
а в консоли reboot.sh выполняется?

V
14.10.2018
21:06:57
эхх ладно не помогут мне тут ?
да!

Ladone
14.10.2018
21:07:12
Я же тебе пример написал
Крон
Создай таблицу и напиши скрипт, который проверяет флаг в бд и пускай по нему вызывает скрипт

V
14.10.2018
21:08:21
да я не шарю в этом совершенно!
я не сделаю этого всего

Ladone
14.10.2018
21:08:35
А

Andrew
14.10.2018
21:09:36
и что скрипт выдает в stdout, когда ты его выполняешь из консоли?

Google

Andrew
14.10.2018
21:09:44
убери 2>&1, я не знаю зачем там это

V
14.10.2018
21:10:04
просто пытаюсь мыслить логически когда я выполняю скрипт через веб там юзер вебсервера получается? или как? может это как то препятствовать? ведь он логинится же на удалённый хост под рут правами и может делать что угодно права же позволяют?
$result=exec('/bin/sh /var/www/cgi-bin/reboot.sh', $output);
вот так?

Andrew
14.10.2018
21:11:56
да, вот так. начини с простого
чтобы просто убедиться, что скрипт выполняется и у тебя есть ответ
а дальше уже будешь решать с пользователями

Денис
14.10.2018
21:12:32
2>&1 отключает вывод

Andrew
14.10.2018
21:12:40
но вообще пхп выполняется от www-data, по хорошому.

V
14.10.2018
21:12:43
в чём кардинальная разница между запусками через консоль или через веб? логин через SSH идёт под рут правами

Andrew
14.10.2018
21:12:45
в твоей ssh команде никакой пользователь ниоткуда не берется. ты его указываешь тут user@host

Денис
14.10.2018
21:13:08
при первом коннекте ссш всегда спрашивает принять ключ

V
14.10.2018
21:13:22
щас попробую?

Andrew
14.10.2018
21:13:23
ssh умеет ключ принять по умолчанию
ну и вообще ключ в систему можно принять и вообще руками из под пользователя раз постучаться
если уж это такой специфичный случай

V
14.10.2018
21:16:38
убрал 2>&1 при выполнении скрипта ничего не изменилось array(0) { } string(0) "" пишет ребут хоста не происходит

Andrew
14.10.2018
21:16:49
логи смотри php
что то оно тебе должно туда срать

Google

Andrew
14.10.2018
21:17:03
потому что команда хотя бы должна возвращать код ответа

V
14.10.2018
21:17:26
а логи смотреть на исполняемой машине же надо?

Andrew
14.10.2018
21:17:39
там где ты запускаешь php скрипт

V
14.10.2018
21:17:51
ну да

Andrew
14.10.2018
21:17:53
я к тому, что php не может выполнить exec, судя по всему

V
14.10.2018
21:18:02
щас буду копать куда php логи пишет...

Andrew
14.10.2018
21:18:13
сделай <? phpinfo(); exit();
ctrl+f "php.ini"
будет тебе путь
и еще. попробуй system() вместо exec()

V
14.10.2018
21:19:43
смотрите какая штука я намерено указал фейковый IP адрес в скрипте с ребутом и вот что он выдаёт
array(1) { [0]=> string(59) "ssh: connect to host 192.168.2.14 port 22: No route to host" } string(59) "ssh: connect to host 192.168.2.14 port 22: No route to host"

V
14.10.2018
21:19:58
значит чё то работает

Andrew
14.10.2018
21:20:43
ну значит команда сама по себе выполняется. но ssh не работает. к ssh сделай -vvv ключ
он тебе подробно должен написать что делает

V
14.10.2018
21:20:58
и если я убираю 2>&1 то он не выводит эту ошибку! так что я вернул 2>&1 обоато

Andrew
14.10.2018
21:21:12
нахуя?
ты просто скрыл ошибки
от этого работать не стало
верни все взад. *facepalm*

Google

V
14.10.2018
21:21:51
ну да...
ща попробую system

Andrew
14.10.2018
21:22:05
да блин

V
14.10.2018
21:22:14
ну и логи php гляну

Andrew
14.10.2018
21:22:16
команда выполняется. но тихо где-то там падает
уже похеру на пхп

V
14.10.2018
21:22:31
ааа

Andrew
14.10.2018
21:22:41
я тебе выше написал, про ключ к ssh, чтобы он вербозил что он делает

V
14.10.2018
21:22:58
понял?

Andrew
14.10.2018
21:23:22
и вообще, как ты понимаешь, что ниче не работает? может у тебя там все работает и сервак перезагружается

Admin
ERROR: S client not available

Andrew
14.10.2018
21:23:26
какие метрики то у тебя?

V
14.10.2018
21:25:51
ОГО! он там так много написал!
наверно надо в pastebin вставить
нет сервак не ребутит это 100%
я его пингую даже

Денис
14.10.2018
21:27:08
поставь на скрипт права 777

Andrew
14.10.2018
21:29:46
какая логика?

V
14.10.2018
21:29:57
да стоят 777 права везде
https://pastebin.com/raw/H3ZhfvX1

Google

V
14.10.2018
21:29:57
вот вывод
для меня это тёмный лес?
что можно сказать из этого лога что он навалил?

Andrew
14.10.2018
21:31:28
да никакого криминала
зайди на тачку сам руками в отдельном окне, держи сессию открытой
и выполни скрипт
мне кажется у тебя все работает

V
14.10.2018
21:32:32
открыть консоль на удалённой машине и выполнить скрипт ребута?

Andrew
14.10.2018
21:32:41
да.

V
14.10.2018
21:32:42
ну он сделаю но оно не работает 100%

Andrew
14.10.2018
21:32:52
я не понимаю, как ты это понимаешь

V
14.10.2018
21:33:38
на ребут требуется время я захожу не вебсервер удалённой тачки и она продолжает работать после выполнения скипта
ну ща консоль открою
не вопрос

Andrew
14.10.2018
21:34:05
а когда руками скрипт выполняешь, машина перезагружается?

Anton
14.10.2018
21:34:36
Sudo где?

V
14.10.2018
21:34:38
конечно!

Andrew
14.10.2018
21:34:51
так он из под рута заходит, зачем судо?

Anton
14.10.2018
21:34:53
Чую оно без него не получится
Пусть попробует

V
14.10.2018
21:35:19
хммм

Andrew
14.10.2018
21:35:21
пусть. мне не жалко.

V
14.10.2018
21:36:00
ну вот я и сам непойму зачем судо я ж под рутом в ssh лезу