#!/usr/bin/env bash
##############################################################
#     Script Para Automatizacion De Kraken Console           #
#           Author: Marian Sanchez                           #
##############################################################

rm -f /tmp/cambio_hora &> /dev/null

if [ -z $1 ] || [ $# -ne 2 ]; then

echo -e "\e[91m PARAMETROS NECESARIOS: nombre_inventario\e[0m"
echo -e "\e[91m MODO DE USO : kraken cambio_hora 1 nombre_inventario\e[0m"

echo -e "\e[91m LA HORA EN SERVIDORES REMOTOS SERAN CAMBIADAS A LA HORA ACTUAL DE ESTE SERVIDOR $(date +"%H:%M")\e[0m"
exit;

fi

ls /home/kraken/clientes/$1 &> /dev/null

if [ $? -ne 0 ]; then

	echo -e "\e[91m ARCHIVO DE INVENTARIO $1 NO EXISTE EN /home/kraken/clientes/\e[0m"
	exit 1;
	
fi


hora=$(date +"%H:%M")

echo -e "\n"
echo -e "\e[93m ========== CAMBIANDO LA HORA EN LOS SERVIDORES DEL INVENTARIO: $1 ==============\e[0m"

readarray -t arreglo < /home/kraken/clientes/$1

for a in ${arreglo[@]}
do
		
		sshpass -p $2 ssh $a -o StrictHostKeyChecking=no -o ConnectTimeout=5 "exit" &> /dev/null
		
		if [ $? -eq 0 ]; then
		
				sshpass -p $2 ssh $a -o ConnectTimeout=5 "echo $2 |  date $hora" 
				echo $a >> /tmp/hora_ok
				
				echo "================================" >> /tmp/cambio_hora
				echo "SERVIDOR : $a " >> /tmp/cambio_hora
				sshpass -p $2 ssh $a -o ConnectTimeout=5 date >> /tmp/cambio_hora
				echo "================================" >> /tmp/cambio_hora
				
		else
			
			echo $a >> /tmp/hora_failed
		
		fi
		
done
		


log1=$(cat /tmp/hora_failed)
hora=$(cat /tmp/hora_ok)

echo -e "\n"

echo -e "\e[32m ========== HORA ACTUALIZADA EN LOS SERVIDORES ==============\e[0m"
echo -e "\e[32m $hora \e[0m"
echo -e "\e[32m PUEDE VALIDAR EL CAMBIO DE HORA DE LOS SERVIDORES EN EL ARCHIVO : /tmp/cambio_hora \e[0m"
echo -e "\n"
echo -e "\e[31m ========== SERVIDORES CON PROBLEMAS ACCESO VALIDE PING O CREDENCIALES ==============\e[0m"
echo -e "\e[31m $log1 \e[0m"
echo -e "\n"

rm -f /tmp/hora_failed &> /dev/null
rm -f /tmp/hora_ok &> /dev/null


exit 0;
