Windows Server에서 원격으로 스크립트 실행

Windows Server에서 원격으로 스크립트 실행

내 상황은 이렇습니다. 내 웹사이트(관리자 제어 페이지)의 버튼을 눌러 스크립트를 실행하고 싶습니다. 내 웹 서버(linux)와 전용 상자(windows 2012)가 다른 위치에 있습니다.


예를 들어:

웹 서버 페이지 | Ded 서버
                                            |
'앱 다시 시작' ------>------>---|-->->Script_To_Restart_App



Windows 2012 서버는 Windows 웹 서버 서비스 IIS를 실행하고 있지 않습니다. 웹페이지를 실행하지 않을 것이기 때문에 오히려 실행하지 않는 것이 좋습니다.

어쨌든 이것이 가능합니까?

감사합니다,

클레이튼

답변1

당신이 제안하는 것은 사소한 것이 아닙니다. 몇 가지 접근 방식이 있습니다.

  1. Windows 상자에서 실행 중인 앱이 다시 시작하라는 메시지를 수신하도록 만듭니다. 그런 메시지가 나타나면 다시 시작하세요. 이러한 메시지를 들을 수 있는 방법에는 여러 가지가 있으며 앱을 구축한 방법에 따라 가장 쉬운 방법을 선택할 수 있습니다. 예를 들어 알려진 포트에서 수신 대기를 시작하고 '다시 시작'이라는 메시지를 받으면 그렇게 합니다. 이를 위해서는 당연히 앱을 변경할 수 있는 기능이 필요합니다. 이에 대한 변형은 다시 시작 메시지를 수신하고 원래 앱을 중지/시작하는 또 다른 앱/서비스를 구축하는 것입니다. 원래 앱을 변경할 수 없거나 변경하고 싶지 않은 경우에는 그렇게 하는 것이 바람직할 수 있습니다.

  2. Windows에서 무언가를 사용하여 앱을 다시 시작하세요. 서비스를 다시 시작하고 프로세스를 시작 및 중지하는 방법(예: WMI)이 내장되어 있습니다. Windows가 아닌 상자에서 수행하고 싶기 때문에 이것은 더 어렵습니다. 훌륭한 도구 'psexec'가 있습니다.http://technet.microsoft.com/en-gb/sysinternals/bb897553.aspx원격으로 이러한 작업을 수행하는 것이 정말 쉬워지고 Linux 버전도 있습니다.http://steronius.blogspot.co.uk/2013/05/psexec-via-linux.html그러면 괜찮을 것 같아요. 프로그래밍이 필요하지 않지만 구성 및 인증이 더 복잡해지거나... 아마도 즉시 작동할 수도 있습니다. Windows 앱을 다시 시작하려면 필요한 명령줄 인수를 사용하여 PHP 스크립트에서 psexec를 호출합니다.

답변2

winexe를 살펴보십시오. Windows 도구 psexec와 유사한 Linux용 명령줄 도구입니다. Winexe는 Linux에서 Windows 시스템의 명령을 원격으로 실행합니다. 여러 일반적인 Linux 배포판용 winexe용 패키지는 다음 위치에서 구할 수 있습니다.openSUSE winexe 패키지웹사이트.

관련 정보