Главная » 2010 » Июнь » 7 » Пример работы с Bash+Expect. Автоматизация роботы
10:46
Пример работы с Bash+Expect. Автоматизация роботы
Каждый разработчик в определенные моменты жизни сталкивается с задачами, ктороые требуют постоянно проделывать одну и туже работу каждый день. Если такая задача включает в себя авторизацию и работу на разнообразных удаленных машинах, или передачу файлов на другие сервера, то она явно подлежит автоматизации. Если одна и та же процедура повторяется несколько раз, то ее надо автоматизировать. Если вы при этом работаете в windows, то вам очень поможет Cygwin.
Специально для таких целей используется bash (командная оболчка Unix). Для автоматизации ввода пароля.логина используется другая оболчка - expect.
Приведу пример простого скрипта, кторый с вашей машины логинится на другую, авторизируется там и проводит обновление из SVN какого-то проекта (задача выбрана просто для примера, также для примера она буде запущена из под Cygwin)
Устанавливаем Cygwin, заходим в домашнуюю папку пользователся (например "c:cygwinhomeАдминистратор"). В ней создаем файл:
#!/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
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/ - как снять сглаз и порчу самостоятельно яйцом
кому церковь не мать заговор заговор от испуга как вернуть любимую женщину приворот форум приворот на месячные самостоятельно и его последствия заговор маршала заговор послов заговоры и молитвы на удачу в работе приворот на еду святочные привороты
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/ - как вернуть любимого человека молитвами отзывы
заговоры от испуга ребенка заговор чтобы позвонил приворот дома заговоры и молитвы на удачу в работе рунический приворот молебен о снятии родового проклятия заговор в рождество на богатство ритуал приворота парня заговор на карты как вернуть любимую девушку
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