KsI-wiki online documents

Curl-bash

Материал из Ksimute

Перейти к: навигация, поиск

Есть такая библиотека для работы с web libcurl

Libcurl — это библиотека интерфейса API для передачи, которую разработчики могут встроить в свои программы; cURL действует как автономная обёртка для библиотеки libcurl. libcurl используется, чтобы обеспечить возможность передачи URL многочисленным приложениям (как открытым, так и коммерческим).

Для libcurl имеется более 30 различных привязок к языкам программирования.

соответственно есть программа curl.


Задача:

  1. Имеем web проиложение или сервим - как хотите называйте :) надо зайти на урл http://$HOST:$PORT_NUMBER/URL
  2. Нажать на кнопку "Drop Schema" потом "Create Schema"
  3. Выполнить какие-то действия (загрузить обновление сторонеей программой) например базу данных о гео информации.
  4. Проверить результат, сделав контрольную выборку
 #!/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 приложений, писать роботов и т.п.