2013-02-25 2 views
0

может кто-то помочь/исправить меня, чтобы написать скрипт, вот что я пытаюсь сделатьПолучить содержимое веб-страниц и сравнить

  • содержание Получить веб-страниц
  • сравнить содержании
  • если содержание такого же затем возвращают 0
  • если не вернуть 2

вот мой код

for cluster in $CLUSTERS 
do 
    for applis in $(eval echo \$${cluster}_APPLIS) 
    do 
     CONTENT=$(wget -q -O - "http://$server/$applis") 
     if [ "$CONTENT" -eq 1 ] 
     then 
     exit_code=0 
     else 
     exit_code=2 
     fi 
    done 
done 

[[ -z "$error_server" ]] && error_server="aucune" 

case $exit_code in 
    "2") 
      echo "CRITICAL - App Version Mismatch" 
      exit 2 
      ;; 
    "1") 
      echo "WARNING - instance(s) indisponible(s)" 
      exit 1 
      ;; 
    "0") 
      echo "OK - All apps have the save version" 
      exit 0 
      ;; 
    *) 
      echo "CRITICAL - there's something wrong with this script ..." 
      exit 2 
      ;; 
esac 

Любая помощь или предложения были бы оценены

С уважением Fab

+0

извините за неправильную метку, я ве изменил его на правильный – user2106999

ответ

0

Вы можете использовать дифференциал для сравнения двух версий файла. Первая переменная используется для получения первой версии веб-страницы. Я не уверен, следует ли сначала инициализировать внутри первого цикла или снаружи.

first=1 
for cluster in $CLUSTERS 
do 
    for applis in $(eval echo \$${cluster}_APPLIS) 
    do 
     if [ $first -eq 1 ];then 
      first=0 
      PREV_CONTENT=$(wget -q -O - "http://$server/$applis") 
     else 
      CONTENT=$(wget -q -O - "http://$server/$applis") 
      diff $PREV_CONTENT $CONTENT 
      PREV_CONTENT=$CONTENT 
      result=$? 
     fi 
     if [ "$result" -eq 0 ] 
     then 
      exit_code=0 
     else 
      exit_code=2 
     fi 
    done 

сделал

+0

спасибо за быстрый ответ Я думаю, что было не очень ясно, в моем предыдущем сообщении На самом деле у нас есть 4 веб-серверов (Кластер) на той же веб-странице Что мне нужно сделать, так это получить содержимое веб-страницы всего моего сервера в переменной и проверить, соответствуют ли они Если да, верните 0 или ответьте 2 – user2106999

+0

Отредактировано скрипт - не уверен, что для applis в $ (eval echo \ $$ {cluster} _APPLIS) для. Возможно, это может быть упрощено. – suspectus

Смежные вопросы