Execute um script remotamente em um servidor Windows

1

Minha situação é essa. Eu quero ter um script executado pressionando um botão no meu site (página de controle de administração). Meu servidor web (linux) e caixa dedicada (windows 2012) estão em locais diferentes.


Por exemplo:

Página do servidor web | Servidor Ded



"Reiniciar aplicativo" ------ > ------ > --- | - > - > Script_To_Restart_App



O servidor Windows 2012 não está executando o IIS do serviço windows webserver. Eu prefiro não executá-lo como não vai estar executando uma página da web.

Existe alguma maneira isso é possível?

Obrigado,

Clayton

    
por Kirs Kringle 13.08.2014 / 00:23

2 respostas

1

O que você está sugerindo não é trivial. Existem algumas abordagens:

  1. Faça com que seu aplicativo executado na caixa do Windows ouça mensagens que solicitem a reinicialização. Quando receber essa mensagem, reinicie. Há várias maneiras de ouvir essa mensagem e escolher a mais fácil, com base em como você criou o aplicativo. Por exemplo, comece a ouvir em uma porta conhecida e, quando receber uma mensagem que diga "restart", faça isso. Isso requer a capacidade de alterar o aplicativo, obviamente. Uma variante disso é criar outro aplicativo / serviço que apenas escute as mensagens de reinicialização e interrompa / inicie o aplicativo original. Isso pode ser desejado se você não puder alterar seu aplicativo original ou preferir não alterar.

  2. Use algo no Windows para reiniciar o aplicativo. Existem formas construídas (por exemplo, WMI) para reiniciar serviços e, provavelmente, para iniciar e parar processos. Isso é mais difícil porque você quer fazer isso de uma caixa que não seja do Windows. Há uma ótima ferramenta 'psexec' link que torna muito fácil fazer essas coisas remotamente, e Há um link para a versão Linux, para que funcione bem. Isso não exigirá programação, mas mais confusão com configuração e autenticação ... talvez, ou pode funcionar imediatamente. Você chamaria psexec do seu script php com os argumentos de linha de comando necessários para fazer com que ele reiniciasse seu aplicativo do Windows.

por 13.08.2014 / 00:42
-1

Dê uma olhada no winexe. É uma ferramenta de linha de comando para Linux semelhante à ferramenta Windows psexec. O WinExex executa remotamente comandos em sistemas Windows a partir do Linux. Pacotes para o winexe para várias distribuições Linux comuns estão disponíveis no site openSUSE winexe package .

    
por 13.08.2014 / 00:39