| 
														
															@@ -7,31 +7,31 @@ if (( curtime-containerstart < 180 )); then 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     exit 0 
														 | 
														
														 | 
														
															     exit 0 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fi 
														 | 
														
														 | 
														
															 fi 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-curl -f -H 'Host:demo.infoclinica.ru' 127.0.0.1:9000/login || exit 1 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+#curl -f -H 'Host:demo.infoclinica.ru' 127.0.0.1:9000/login || exit 1 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 # Проверяем наличие файла с переменной time_to_dead 
														 | 
														
														 | 
														
															 # Проверяем наличие файла с переменной time_to_dead 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 if [ -f /tmp/dead ];then 
														 | 
														
														 | 
														
															 if [ -f /tmp/dead ];then 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   if (( curtime > $(cat /tmp/dead) )); then kill 1;fi 
														 | 
														
														 | 
														
															   if (( curtime > $(cat /tmp/dead) )); then kill 1;fi 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-fi 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+else 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 # Определяем изменился ли адрес админки 
														 | 
														
														 | 
														
															 # Определяем изменился ли адрес админки 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-ping -c3 $(cat /tmp/admin_ip) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-if [[ $? -ne 0 ]]; then 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  new_admin_ip=$(nslookup ${ADMIN_HOST}.${APPNET}|grep Address|tail -n1|cut -d " " -f2) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  if [[ ${new_admin_ip} != $(cat /tmp/admin_ip) ]];then 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    ping -c3 ${new_admin_ip} || exit 0 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  ping -c3 $(cat /tmp/admin_ip) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  if [[ $? -ne 0 ]]; then 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    new_admin_ip=$(nslookup ${ADMIN_HOST}.${APPNET}|grep Address|tail -n1|cut -d " " -f2) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    if [[ ${new_admin_ip} != $(cat /tmp/admin_ip) ]];then 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+      ping -c3 ${new_admin_ip} || exit 0 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    fi 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  # Вычисляем адрес node и последний октет 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    node_ip=$(nslookup ${HOSTNAME}.${APPNET}|grep Address|tail -n +2|cut -d " " -f2) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    last_node_oct=$(echo ${node_ip}|cut -d "." -f4) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  # Вычисляем service_name 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    service_name=$(nslookup ${node_ip}|grep "in-addr.arpa"|cut -d " " -f3|cut -d "." -f1) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+  # Вычисляем адреса task.node и сортируем последние октеты, сравниваем с последним окстетом текущей node и отправляем node на перезапуск 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    last_task_node_oct=($(echo $(nslookup tasks.${service_name}.${APPNET}|grep Address|tail -n +2|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 time_to_dead=$((i*180+curtime));echo ${time_to_dead} > /tmp/dead;fi 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    done 
														 | 
													
												
											
												
													
														| 
														 | 
														
															   fi 
														 | 
														
														 | 
														
															   fi 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-# Вычисляем адрес node и последний октет 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  node_ip=$(nslookup ${HOSTNAME}.${APPNET}|grep Address|tail -n +2|cut -d " " -f2) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  last_node_oct=$(echo ${node_ip}|cut -d "." -f4) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-# Вычисляем service_name 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  service_name=$(nslookup ${node_ip}|grep "in-addr.arpa"|cut -d " " -f3|cut -d "." -f1) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-# Вычисляем адреса task.node и сортируем последние октеты, сравниваем с последним окстетом текущей node и отправляем node на перезапуск 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  last_task_node_oct=($(echo $(nslookup tasks.${service_name}.${APPNET}|grep Address|tail -n +2|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 : $((time_to_dead=${i}*180+curtime));echo ${time_to_dead} > /tmp/dead;fi 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-  done 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 fi 
														 | 
														
														 | 
														
															 fi 
														 |