1234567891011121314151617181920212223242526 |
- #!/bin/bash
- # Определяем изменился ли адрес админки
- admin_ip="10.0.29.40"
- ping -c3 ${admin_ip}
- if [[ $? -ne 0 ]]; then
- new_ip=$(nslookup admin|grep Address|tail -n1|cut -d " " -f2)
- ping -c3 ${new_ip} || echo "adminhost not available!!! Exit"
- # Вычисляем адрес node и последний октет
- admin_net=$(nslookup admin|grep Address|tail -n1|cut -d " " -f2|cut -d "." -f1-3)
- for i in $(hostname -I)
- do
- if [[ $(echo ${i}|cut -d "." -f1-3) == ${admin_net} ]]; then node_ip=${i};fi
- done
- last_node_oct=$(echo ${node_ip}|cut -d "." -f4)
- #Вычисляем адреса task.node и сортируем последние октеты, сравниваем с последним окстетом текущей node и отправляем node на перезапуск
- last_task_node_oct=($(echo $(nslookup tasks.node | grep Address | tail -n2 | cut -d " " -f2| cut -d "." -f4)))
- IFS=$'\n' sorted=($(sort <<<"${last_task_node_oct[*]}"))
- unset IFS
- for i in ${!sorted[*]}
- do
- if [[ ${last_node_oct} -eq ${sorted[i]} ]];then : $((t=${i}*3));sleep ${t}m;kill 1;break;fi
- done
- fi
- curl -f -H 'Host:demo.infoclinica.ru' 127.0.0.1:9000/login || exit 1
|