The final solution I went with was using PLink.exe which is installed in the puTTY package, then create a batch file:
StopServer1.bat
"C:\Program files (x86)\puTTY\plink.exe" -ssh -root@Server1 -pw <password> shutdown -h now
Можно ли как-то отключить Linux-систему (CentOS) из командного файла на компьютере с Windows (win 2012 Server)?
The final solution I went with was using PLink.exe which is installed in the puTTY package, then create a batch file:
StopServer1.bat
"C:\Program files (x86)\puTTY\plink.exe" -ssh -root@Server1 -pw <password> shutdown -h now
Существуют более сложные решения, но дешевым и веселым является использование файла флага в общем каталоге и задача, которая проверяет его существование, например:
if [ -r /ShutDown ]; then rm /ShutDown; shutdown -h now; fi
Вы можете запустить это либо в цикле с sleep 60
(скажем) командой, либо как отдельную команду в скрипте, запускаемом повторно из cron.
Ваш сервер Windows просто создает /ShutDown
всякий раз, когда он хочет выключения.
Я надеюсь, что само собой разумеется, что он должен быть доступен для записи из системы Linux, чтобы разрешить удаление, которое одновременно предотвращает цикл перезагрузки и позволяет серверу Windows знать, когда запрос на выключение был получен и обработан.