Variabilisation du repertoire /home
This commit is contained in:
parent
26f772f8d0
commit
3b0ae20fad
|
@ -1,45 +1,47 @@
|
|||
#!/bin/sh
|
||||
su -c'
|
||||
date > /home/$USER/SANTE_DISK #RAZ fichier de sortie + inscription date
|
||||
|
||||
OUTPUT=($(lsblk -dpno name)) #Listing des disques présents sur la machine sous la forme "/dev/sd*" dans un array
|
||||
ARRAY_TEMPS=() #Creation d un array vide
|
||||
|
||||
for i in "${OUTPUT[@]}" #Boucle de test sur chaque disque
|
||||
do
|
||||
ARRAY_TEMPS+=($(/usr/sbin/smartctl -c "$i" | grep "polling" | grep -Eo '\''[0-9]{1,}'\'')) #Extraction des temps de polling dans les capacites SMART du disque (seulement le chiffre, en minutes). Notez les caracteres d echappement des apostrophes.
|
||||
/usr/sbin/smartctl -t long "$i"
|
||||
done
|
||||
|
||||
TEMPS_MAX=0 #RAZ du temps de polling
|
||||
|
||||
for i in "${ARRAY_TEMPS[@]}" #recherche de la valeur max dans les temps de polling extraits
|
||||
do
|
||||
if (("$i" > $TEMPS_MAX))
|
||||
then TEMPS_MAX="$i"
|
||||
fi
|
||||
done
|
||||
|
||||
sleep "$TEMPS_MAX"m #Attente de fin des tests
|
||||
|
||||
for i in "${OUTPUT[@]}" #Boucle d inscription des résultats dans le fichier de sortie
|
||||
do
|
||||
echo "----------------------------------------------------------------" >> /home/$USER/SANTE_DISK
|
||||
echo "DISK "$i"" >> /home/$USER/SANTE_DISK
|
||||
/usr/sbin/smartctl -i "$i" | grep "Model Family" >> /home/$USER/SANTE_DISK
|
||||
/usr/sbin/smartctl -i "$i" | grep "Device Model" >> /home/$USER/SANTE_DISK
|
||||
/usr/sbin/smartctl -i "$i" | grep "Serial Number" >> /home/$USER/SANTE_DISK
|
||||
/usr/sbin/smartctl -i "$i" | grep "Firmware" >> /home/$USER/SANTE_DISK
|
||||
echo " "
|
||||
/usr/sbin/smartctl -H -A -l selftest "$i" >> /home/$USER/SANTE_DISK
|
||||
echo " " >> /home/$USER/SANTE_DISK
|
||||
done
|
||||
|
||||
echo "**************************************************
|
||||
***** TESTS TERMINES ET LOG DISPONIBLE SOUS *****
|
||||
************* home/$USER/SANTE_DISK **************
|
||||
**************************************************"
|
||||
|
||||
cat /home/SANTE_DISK | /usr/bin/mailx -s "Sante des disques sur $HOSTNAME" $USER@localhost #envoi de mail
|
||||
|
||||
read'
|
||||
#!/bin/sh
|
||||
su -c'
|
||||
|
||||
OUTPUT=($(lsblk -dpno name)) #Listing des disques présents sur la machine sous la forme "/dev/sd*" dans un array
|
||||
ARRAY_TEMPS=() #Creation d un array vide
|
||||
HOME=($(eval echo ~$USER)) #Chemin du home
|
||||
|
||||
date > $HOME/SANTE_DISK #RAZ fichier de sortie + inscription date
|
||||
|
||||
for i in "${OUTPUT[@]}" #Boucle de test sur chaque disque
|
||||
do
|
||||
ARRAY_TEMPS+=($(/usr/sbin/smartctl -c "$i" | grep "polling" | grep -Eo '\''[0-9]{1,}'\'')) #Extraction des temps de polling dans les capacites SMART du disque (seulement le chiffre, en minutes). Notez les caracteres d echappemen$
|
||||
/usr/sbin/smartctl -t short "$i"
|
||||
done
|
||||
|
||||
TEMPS_MAX=0 #RAZ du temps de polling
|
||||
|
||||
for i in "${ARRAY_TEMPS[@]}" #recherche de la valeur max dans les temps de polling extraits
|
||||
do
|
||||
if (("$i" > $TEMPS_MAX))
|
||||
then TEMPS_MAX="$i"
|
||||
fi
|
||||
done
|
||||
|
||||
#sleep "$TEMPS_MAX"m #Attente de fin des tests
|
||||
|
||||
for i in "${OUTPUT[@]}" #Boucle d inscription des résultats dans le fichier de sortie
|
||||
do
|
||||
echo "----------------------------------------------------------------" >> $HOME/SANTE_DISK
|
||||
echo "DISK "$i"" >> $HOME/SANTE_DISK
|
||||
/usr/sbin/smartctl -i "$i" | grep "Model Family" >> $HOME/SANTE_DISK
|
||||
/usr/sbin/smartctl -i "$i" | grep "Device Model" >> $HOME/SANTE_DISK
|
||||
/usr/sbin/smartctl -i "$i" | grep "Serial Number" >> $HOME/SANTE_DISK
|
||||
/usr/sbin/smartctl -i "$i" | grep "Firmware" >> $HOME/SANTE_DISK
|
||||
echo " "
|
||||
/usr/sbin/smartctl -H -A -l selftest "$i" >> $HOME/SANTE_DISK
|
||||
echo " " >> $HOME/SANTE_DISK
|
||||
done
|
||||
|
||||
echo "**************************************************
|
||||
***** TESTS TERMINES ET LOG DISPONIBLE SOUS *****
|
||||
************ $HOME/SANTE_DISK *************
|
||||
**************************************************"
|
||||
|
||||
cat $HOME/SANTE_DISK | /usr/bin/mailx -s "Sante des disques sur $HOSTNAME" $USER@localhost #envoi de mail
|
||||
|
||||
read'
|
Loading…
Reference in New Issue