Я написал хранимую процедуру, которую использую как запланированное задание в MSSQL для перезагрузки списка серверов, я также регистрирую все ответные сообщения как ошибки \ предупреждения на случай, если перезагрузка не удалась. Все было в порядке, пока мы использовали OpenSUSE, теперь мы установили различные новые серверы и склонны использовать Ubuntu.
Команда, запускаемая из MSSQL (после выполнения вручную в первый раз для кеширования ключа RSA):
putty.exe -ssh пользователь @ сервер -pw [пароль] -m D: \ SQL \ APPS \ reboot.txt
Он работает (как и на самом деле сервер перезагружается), но всегда отвечает сообщением «Неожиданно закрытое сетевое соединение с сервером», и это очень раздражает, поскольку я продолжаю регистрировать это как ошибку и затем рассылать электронные письма с предупреждениями мне и другим сетевым администраторам.
В любом случае я могу избежать этого ответа? Может быть, другой способ перезагрузить ubuntu из MSSQL?
Очевидно, я понимаю, что могу записать большой IF в свою хранимую процедуру и игнорировать сообщения, содержащие «Сервер неожиданно закрыл сетевое соединение», но я как бы хотел избежать этого маршрута.
Спасибо за любые предложения, Джеймс
Вы можете просто правильно завершить ssh-соединение. Например, вместо использования только reboot
ты можешь использовать reboot ; exit
Кстати, почему вы перезагружаете серверы из самой базы данных MSSQL? Если вы просто хотите перезагрузить компьютер через некоторое время, используйте cron локально.