The OpenNET Project
 
Поиск (ключи):    ПРОГРАММЫ СТАТЬИ СОВЕТЫ ФОРУМ
  WIKI НОВОСТИ (+) MAN'ы ДОКУМЕНТАЦИЯ

expect для автоматизации операций требующих ручного ввода
#!/usr/bin/expect -f # Забор файла по FTP
spawn ftp ftp.test.ru
expect  "Name*:" { send "ftp\n"}
expect  "Password:" { send "ftp@\n"}
expect "ftp>" {send "bin\n"}
expect "ftp>" {send "prompt no\n"}
expect "ftp>" {send "cd /pub/store\n"}
expect "ftp>" {send "get arc.tar.gz\n"}
expect "ftp>" {send "exit\n"}

#!/usr/bin/expect -f # Выполнение операции используя telnet
spawn telnet cisco.test.ru
expect  "login:" { send "adm\n"}
expect  "Password:" { send "пароль\n"}
expect "#" {send "show users\n"}
expect "#" {send "exit\n"}
 
18.11.2003
Раздел:    Корень / Пользователю / Работа с Web и Ftp

Обсуждение [ RSS ]
 
  • 1, shadow_alone, 16:49, 21/07/2009 [ответить] [смотреть все]
  • +/
    вот сделал очень удобный скриптик для работы со своими рутерами и свитчами:
    #!/usr/bin/expect -f
    set mycommand [lrange $argv 1 $argc]
    spawn /usr/bin/telnet [lindex $argv 0]
    expect  "Username:" { send "логин\n"}
    expect  "Password:" { send "пароль\n"}
    expect ">" {send "en\n"}
    expect  "Password:" { send "пароль_на_enable\n"}
    expect "#" {send "terminal length 0\n"}
    expect "#" {send "$mycommand \n"}
    expect "az#" {send "terminal no length 0\n"}
    expect "#" {send "exit\n"}

    запускаем
    скрипт куда_коннектимся команда

    возникает лишь одна проблема, например при выводе sh run
    из-за того что скрипт ждет "#", он обрывает вывод, если есть строки с "#". Вылечил просто - жду вывод не "#" а ".az#" - девайсы имеют имя с окончанием на .az

     
  • 2, vaden, 19:14, 10/11/2009 [ответить] [смотреть все]
  • +/
    а как перенаправить вывод "sh run" в файл?
     
  • 3, munsera, 15:40, 17/02/2011 [ответить] [смотреть все]
  • +/
    У меня после автоматического ввода пароля коннект отваливается. В чем проблеима?
     
     
  • 4, Shaker, 11:41, 06/09/2011 [^] [ответить] [смотреть все]
  • +/
    Добавьте в конец скрипта interact.
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:

     Добавить заметку
     Версия для печати
     
     Поиск заметки:
     

    Последние заметки
    - 05.02 Проброс 802.1q/access порта в Linux через IP-сеть
    - 25.01 Использование systemtap для устранения уязвимости в реализации /proc/pid/mem
    - 24.01 Мониторинг загрузки многоядерного сервера по каждому ядру в отдельности в Linux
    - 23.01 Осуществление ОGSM/SMS/USSD вызовов с использованием утилиты mdbus
    - 13.01 Интерактивный firewall в Linux
    - 08.01 Советы по увеличению автономной работы ноутбука с Debian/Ubuntu
    - 31.12 Бэкап и восстановление данных из БД memcachedb и других хранилищ на базе BerkeleyDB
    - 28.12 Получение инкрементальных diff-файлов для subversion
    - 27.12 Решение проблемы поддержки php-zip-extension в Fedora-16
    - 25.12 Настройка сетевого доступа в окружениях QEMU
    RSS | Следующие 15 записей >>


    АКЦИЯ! ПОДПИШИСЬ на журнал Linux Format до 31 января 2012 года и выиграй СУПЕРПРИЗ!

    Журнал "Linux Format" (Линукс Формат)- Единственный в России и странах СНГ журнал на русском языке, посвящённый Linux и свободному ПО. Журнал для IT-директоров, IT-менеджеров, программистов, системных администраторов, учителей школ и преподавателей ВУЗов и всех пользователей ПК. В каждом выпуске: Новости индустрии OpenSource, обзоры новинок свободного ПО, обучающие и методические статьи.

    Каждый, кто оформит подписку, получает бонус- объёмные наклейки на системный блок и подарки: с одним из первых выпусков журнала в 2012 году- диск с архивом номеров за 2005-2011 г.г. и ежемесячно электронную версию журнала в pdf-формате.

    Подробнее о проведении акции вы можете прочитать на странице сайта.


      Закладки на сайте
      Проследить за страницей
    Created 1996-2012 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    RUNNet TopList