Curl-bash
Материал из Ksimute
Есть такая библиотека для работы с web libcurl
Libcurl — это библиотека интерфейса API для передачи, которую разработчики могут встроить в свои программы; cURL действует как автономная обёртка для библиотеки libcurl. libcurl используется, чтобы обеспечить возможность передачи URL многочисленным приложениям (как открытым, так и коммерческим).
Для libcurl имеется более 30 различных привязок к языкам программирования.
соответственно есть программа curl.
Задача:
- Имеем web проиложение или сервим - как хотите называйте :) надо зайти на урл http://$HOST:$PORT_NUMBER/URL
- Нажать на кнопку "Drop Schema" потом "Create Schema"
- Выполнить какие-то действия (загрузить обновление сторонеей программой) например базу данных о гео информации.
- Проверить результат, сделав контрольную выборку
#!/bin/bash HOST=$1 PORT=12345 FILEPATH='update.tar.gz'; curl -d "command=Drop%20Schema" $HOST..:$PORT/url curl -d "command=Create%20Schema" $HOST..net:$PORT/url wget --header="Content-Type: application/x-gzip" --delete-after --post-file=$FILEPATH http://$HOST:$PORT/UPLOAD-URL RESULT=`curl $HOST:$PORT/DATA-URL/ip/12.201.79.191 | awk -F: '{print $2}' | awk -F, {'print $1'} `; STRING='"62948"'; if [ $RESULT = $STRING ]; then echo "UPDATE $HOST is O.K.!" else echo "ACHTUNG ALARM!!!" fi
Думаю можно сделать проще и правильнее, но мне для апдейта 3-х десятков серверов хватило. Вообще CURL решает (с точки зрения Operations Team)! Позволяет делать чумовые просто чеки web приложений, писать роботов и т.п.