LINUX.ORG.RU

Привязать шелл команды к веб интерфейсу


0

1

Подскажите пожалуйста самый простой способ сделать веб-интерфейс для шелловских команд.

ПС Навыки программирования очень поверхностные. В принципе, если будет что-то с примером, смогу разобраться.

★★★★

никак. Главный цимус шелл - пайпы, и скрипты которые можно повторно использовать. Которые вот так просто в web не ложатся.

p.s. какой веб интерфейс может быть у команды «yes» ?

MKuznetsov ★★★★★
()
Ответ на: комментарий от ViTeX

утрированно: по нажатию кнопки «всё достало» сценарий пишет xxx в заранее определённый файл, демон по таймеру/сигналу о записи даёт команду «userdel xxx» и пишет в другой файл «xxx ok». Сценарий в свою очередь обнаружив Ok, выплёвывает страничку «отдыхай» :)

MKuznetsov ★★★★★
()
Ответ на: комментарий от vahtu

Ну что за ересь. Уже давным давно всякие mysql_query не полняют две команды за один вызов из соображений безопасности.

theos ★★★
()
Ответ на: комментарий от theos

Это я в довесок. Вдруг пригодится. Он же себе (я так понял) делает - может и постарее чего поставить.

vahtu
()

Если пайпов не надо и stderr не несет полезной информации, можно тупо запускать команды как CGI и выхлоп запихивать в веб-страничку.

Или запускать команду через POST-запрос, обрабатывать ответ и отдавать (я так и делаю, на моем гуглокоде есть кое-какие примерчики — но там не шелловские команды, а CGI для управления всяким железом).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Не, я там даже не зареган.

ViTeX ★★★★
() автор топика

Кстати, а как работают всякие там вебмины? Каков механизм?

ViTeX ★★★★
() автор топика
Ответ на: комментарий от Eddy_Em

Меня некоторое время назад вот это очень приятно удивило. Целый терминал в браузере, и даже под диал-апом, например, mc летает.

gag ★★★★★
()
Ответ на: комментарий от gag

Вебсокеты — хорошая штука. Сам собираюсь очередной велосипед веб-интерфейс управления железякой реализовать через вебсокеты (так по крайней мере надежней будет: все сообщения будут быстро доходить, а при реализации POST-запросов по таймеру можно еще и пропустить что-нибудь).

Eddy_Em ☆☆☆☆☆
()

подобное сделал на perl - в виде cgi в lighttpd с парой system() - трехслойный костыль. Просто и работает

minakov ★★★★★
()

Если нужно просто запустить сценарий - просмотреть вывод, то все просто. Берешь любимый веб-сервер, например lighttpd, настраиваешь там CGI, пишешь нужные сценарии на любимом шелл-языке, кидаешь в папку cgi-bin, радуешься жизни. Если нужно что-то вводить в ответ на вывод команд, тут сложнее уже.

roof ★★
()
Ответ на: комментарий от roof

Скажем, нажать кнопку на страничке - запустится скрипт, может ещё мне аргумент какой к скрипту ввести в текстбокс. Ну и еще грепнуть файл и по регэкспу там красный или зеленый кружочек вывести, к примеру.

ViTeX ★★★★
() автор топика
Ответ на: комментарий от ViTeX

Скажем, нажать кнопку на страничке - запустится скрипт, может ещё мне аргумент какой к скрипту ввести в текстбокс.

man cgi

Вообще, в питоне есть же всякие subprocess и pipe - более чем достаточно, я например простого шелл-бота для яббера на них писал.

Ну и собственно, чем ssh не устраивает? Вроде даже есть веб клиенты.

Kalashnikov ★★★
()
Ответ на: комментарий от ViTeX

Прочитайте, что такое CGI. Это серверная технология, на страничке может быть что угодно. Агрументы CGI-скриптам передавать можно, через пост и гет. Красные и зеленые кружочки рисуются при помощи HTML, который генерирует CGI-скрипт. Короче, RTFM уже :)

roof ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.