Я создал сценарий expect/bash для получения конфигурации устройств cisco; это простая копия cisco running-configuration и сохранение ее с помощью tftp.Как я могу обрабатывать таймауты при нерестах ssh или telnet-соединений?
#!/bin/bash
while read line;
do
device=$line;
expect << EOF
spawn telnet $device
expect "Username:"
send "username\n"
expect "Password:"
send "password\n"
send "copy running-config tftp://192.168.244.14\r"
expect "Address or name of remote host"
send "\r"
expect "Destination filename "
send "\r"
expect "secs"
send "exit\r"
close
EOF
done < /home/marco/Scrivania/Host.txt
exit 0
Моя проблема в том, что у меня есть несколько устройств, некоторые из которых настроены на прием соединений telnet, а другие - только для соединений ssh. Таким образом, в моем сценарии я бы добавил что-то вроде:
попробуйте подключиться к устройству с помощью telnet Если после 3 минут ответа нет, отмените команду «spawn telnet ...» и попробуйте подключиться с помощью ssh.
В смысле ведьм я могу это реализовать?