Variabilisation du repertoire /home

This commit is contained in:
John Doe 2020-12-30 16:15:54 +01:00
parent 26f772f8d0
commit 3b0ae20fad
1 changed files with 47 additions and 45 deletions

View File

@ -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'