Главная » 2010 » Июнь » 7 » Пример работы с Bash+Expect. Автоматизация роботы
10:46
Пример работы с Bash+Expect. Автоматизация роботы
Каждый разработчик в определенные моменты жизни сталкивается с задачами, ктороые требуют постоянно проделывать одну и туже работу каждый день. Если такая задача включает в себя авторизацию и работу на разнообразных удаленных машинах, или передачу файлов на другие сервера, то она явно подлежит автоматизации. Если одна и та же процедура повторяется несколько раз, то ее надо автоматизировать. Если вы при этом работаете в windows, то вам очень поможет Cygwin.

Специально для таких целей используется bash (командная оболчка Unix). Для автоматизации ввода пароля.логина используется другая оболчка - expect.

Приведу пример простого скрипта, кторый с вашей машины логинится на другую, авторизируется там и проводит обновление из SVN какого-то проекта (задача выбрана просто для примера, также для примера она буде запущена из под Cygwin)

Устанавливаем Cygwin, заходим в домашнуюю папку пользователся (например "c:cygwinhomeАдминистратор"). В ней создаем файл:
File: update.sh 

С таким содержимым:


#!/bin/bash
#!/bin/expect
expect -c 'spawn ssh -p 22 user@host;
expect assword ;
send "password " ;
send "cd /var/www/project_path ";
send "sudo svn up ";
expect assword ;
send "password " ;
expect "ssh>"'
echo "Update finished!"


#!/bin/bash - директива которая указывает местоположения непосредственно bash обработчика
#!/bin/expect - указывает местоположение обработчика expect

expect -c '...' - выполняет запуск консольных команд с перехватом ввода - вывода с помощью expect
spawn ssh -p 22 user@host; - конектимся к удаленному хосту с указаным именем пользователя
expect assword; - команда которая перехватывает ввод пароля и ждет когда мы его пошлем из нашего скрипта
send "password "; - посылаем запросившему серверу пароль пользователя в удаленной системе
send "cd /var/www/project_path "; - переходим в папку с проектом
send "sudo svn up "; - выполняем обноление из SVN с правами админа (предпологаем что наш юзер имеет права для віполнения команды sudo)
expect assword ; - перехватываем ввод пароля
send "password "; - отправляем пароль пользователя
expect "ssh>" - запрашиваем консоль
echo "Update finished!" - информируем об успешном обновлении

Обработка ошибок, варианты ввода вы уже можете дописать сами. Главная цель - пример реального использования bash+expect
Просмотров: 2650 | Добавил: Sergey Saenko | Рейтинг: 0.0/0
Всего комментариев: 3
3 TomasZet  
0
http://www.serafim-koldun.ru/ - заговоры на рождество на мужа
http://www.serafim-koldun.ru/ - как распознать приворот
http://www.serafim-koldun.ru/ - сильный заговор против заговора
http://www.serafim-koldun.ru/ - заговоры и обряды на рождество
http://www.serafim-koldun.ru/ - заговор на привлечение клиентов
http://www.serafim-koldun.ru/ - приворот на месячную кровь кто делал отзывы
http://www.serafim-koldun.ru/ - заговор чтоб любимый позвонил
http://www.serafim-koldun.ru/ - заговор маршала
http://www.serafim-koldun.ru/ - снять порчу яйцом
http://www.serafim-koldun.ru/ - как снять сглаз и порчу самостоятельно яйцом


кому церковь не мать заговор
заговор от испуга
как вернуть любимую женщину
приворот форум
приворот на месячные самостоятельно и его последствия
заговор маршала
заговор послов
заговоры и молитвы на удачу в работе
приворот на еду
святочные привороты

2 TomasZet  
0
http://www.serafim-koldun.ru/ - заговоры 8 января
http://www.serafim-koldun.ru/ - заговор на примирение с любимым
http://www.serafim-koldun.ru/ - заговор на тоску
http://www.serafim-koldun.ru/ - заговор чтобы разлюбить
http://www.serafim-koldun.ru/ - как сделать приворот на любовь
http://www.serafim-koldun.ru/ - заговор на удачу в лотерее
http://www.serafim-koldun.ru/ - заговор сильный на выигрыш в лотерею
http://www.serafim-koldun.ru/ - заговор от пьянки
http://www.serafim-koldun.ru/ - молитва вернуть любимого
http://www.serafim-koldun.ru/ - как вернуть любимого человека молитвами отзывы


заговоры от испуга ребенка
заговор чтобы позвонил
приворот дома
заговоры и молитвы на удачу в работе
рунический приворот
молебен о снятии родового проклятия
заговор в рождество на богатство
ритуал приворота парня
заговор на карты
как вернуть любимую девушку

1 VictorPi  
0
Makes me think -
All architecture is shelter, all great architecture is the design of space that contains, cuddles, exalts, or stimulates the persons in that space. (c)Philip Johnson "http://idipic.com/idioms_quotes/quotes" - Quotes

Имя *:
Email *:
Код *: