CheckScript

Da GazziNet.
Versione del 26 apr 2024 alle 14:11 di Admin (discussione | contributi)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca
#!/bin/bash
## Versione 1.0 - Christian Gozzi - Partech
## Script per esecuzione ricorsiva su vari host di una serie di comandi.
LOG_FILE=logfile.txt
LOG_OK=logmachineok.txt
LOG_NONOK=logmachinenook.txt
LOG_AGENTHOST=listavmpulire.txt
LOG_PULIZIE=logpulizie.txt
LOG_CHECK=check.txt
rm -f ${LOG_NONOK}
rm -f ${LOG_FILE}
rm -f ${LOG_OK}
rm -f ${LOG_AGENTHOST}
rm -f ${LOG_PULIZIE}
fileItemString=$(cat  lista.txt |tr "\n" " ")
fileItemArray=($fileItemString)
# Iterate the string array using for loop
for val in ${fileItemArray[@]}; do
  echo $val
( ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@$val cat /etc/fstab | grep "cifs\|nfs") & pid=$!
( sleep 5 && kill -HUP $pid ) 2>/dev/null & watcher=$!
if wait $pid 2>/dev/null; then
   echo "SSH ok su: $val"
       echo $val>> check.txt
       echo "---" >> check.txt
       ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null root@$val cat /etc/fstab | grep "cifs\|nfs"  >> check.txt
       echo "---" >> check.txt
   pkill -HUP -P $watcher
   wait $watcher
else
   echo "SSH error su: $val"
       echo $val>> ${LOG_NONOK}
fi
done