Сообщение
elvin_sochi »
Доброго времени суток. Подозреваю, что топикстартер свою проблему уже решил. Пишу для тех, кто с ней только столкнулся.
Для начала устанавливаем expect:
sudo apt-get install
После, создаём файл, который у нас станет скриптом выключения сервака. У меня его содержимое выглядит так:
#!/usr/bin/expect -f #Строка идентификации
spawn ssh -p Порт IP-Адрес #Запуск подпроцесса соединения с сервером через ssh
expect -re"password:" #Ожидание ответа, содержащего в тексте - password:
send "пароль\r" #Дождавшись, отослать пароль
expect -re "\\$ $" #Ждём строку, содержащую $(на него заканчивается приглашение системы)
send "sudo su\r" #Отсылаем команду sudo su для перехода в режим суперпользователя
expect -re "password for пользователь:" #Ждём запрос пароля
send "пароль\r" #Подтверждаем права паролем
expect -re "# $" #Ждём строку, содержащую $
send "poweroff\r" #Тушим сервер
expect -re "power off NOW!" #Удостоверяемся, что машина ушла на выключение
exit 0 #Собственно, удаляемся сами
У топикстартера присутствует строка "set timeout 30", назначение которой для меня осталось тайной, возможно она Вам тоже пригодится.