Răsfoiți Sursa

Добавил тестовый healthcheck

tomishinets.v 5 ani în urmă
părinte
comite
30b7225e7f
1 a modificat fișierele cu 23 adăugiri și 0 ștergeri
  1. 23 0
      healthceck.new.sh

+ 23 - 0
healthceck.new.sh

@@ -0,0 +1,23 @@
+#!/bin/bash
+
+# Основной цикл для определения изменился ли адрес админки
+admin_ip="10.0.29.39"
+ping -c3 ${admin_ip} || new_ip=$(nslookup admin|grep Address|tail -n1|cut -d " " -f2)
+ping -c3 ${new_ip} || echo "admin not available!!! Exit"
+echo ${new_ip}
+
+# Вычисляем адрес 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}; echo ${node_ip};fi
+done
+
+#Вычисляем адреса node и сортируем последние октеты, сравниваем с последним окстетом текущей node и отправляем node на перезапуск
+ip=($(echo $(nslookup tasks.node | grep Address | tail -n2 | cut -d " " -f2| cut -d "." -f4)))
+IFS=$'\n' sorted=($(sort <<<"${ip[*]}"))
+unset IFS
+for i in ${!sorted[*]}
+do
+  if [[ ${var} -eq ${sorted[i]} ]];then : $((t=${i}*3));sleep ${t}m;echo "then go to sleep ${t}";break;fi
+done