Удаленный запуск скрипта на сервере Windows

Удаленный запуск скрипта на сервере Windows

У меня такая ситуация. Я хочу, чтобы скрипт запускался нажатием кнопки на моем сайте (страница управления администратора). Мой веб-сервер (linux) и выделенный ящик (windows 2012) находятся в разных местах.


Например:

Страница веб-сервера | Сервер Ded
                                            |
«Перезапустить приложение» ------>------>---|-->->Скрипт_для_перезапуска_приложения



Сервер Windows 2012 не запускает службу веб-сервера Windows IIS. Я бы предпочел не запускать его, так как он не будет запускать веб-страницу.

Возможно ли это вообще?

Спасибо,

Клейтон

решение1

То, что вы предлагаете, не является тривиальным. Есть несколько подходов:

  1. Заставьте свое приложение, работающее на Windows Box, прослушивать сообщения, которые говорят ему перезапуститься. Когда оно получает такое сообщение, перезапустите его. Есть несколько способов прослушивания такого сообщения, и вы можете выбрать самый простой из них в зависимости от того, как вы создали приложение. Например, начните прослушивать известный порт и, когда получите сообщение с надписью «перезапустить», сделайте это. Очевидно, что для этого требуется возможность изменить приложение. Вариантом этого является создание другого приложения/службы, которая просто прослушивает сообщения о перезапуске и останавливает/запускает исходное приложение. Это может быть желательно, если вы не можете изменить исходное приложение или предпочитаете этого не делать.

  2. Используйте что-нибудь в Windows, чтобы перезапустить приложение. Существуют встроенные способы (например, WMI) для перезапуска служб и, возможно, для запуска и остановки процессов. Это сложнее, потому что вы хотите сделать это из не-Windows-окна. Есть отличный инструмент 'psexec'http://technet.microsoft.com/en-gb/sysinternals/bb897553.aspxчто позволяет очень легко делать такие вещи удаленно, и есть версия для Linuxhttp://steronius.blogspot.co.uk/2013/05/psexec-via-linux.htmlтак что это может сработать нормально. Это не потребует программирования, но потребует больше возни с конфигурацией и аутентификацией... возможно, или это может просто сработать немедленно. Вы могли бы вызвать psexec из вашего скрипта php с необходимыми аргументами командной строки, чтобы он перезапустил ваше приложение Windows.

решение2

Взгляните на winexe. Это командная строка для Linux, похожая на Windows-инструмент psexec. Winexe удаленно выполняет команды в системах Windows из Linux. Пакеты для winexe для нескольких распространенных дистрибутивов Linux доступны напакет openSUSE winexeВеб-сайт.

Связанный контент