Gestion des paquets a installer

This commit is contained in:
John Doe 2020-12-30 18:58:02 +01:00
parent 5057b95a4d
commit c1f0d57ed4
1 changed files with 25 additions and 17 deletions

View File

@ -1,11 +1,20 @@
#!/bin/sh
#!/bin/bash
su -c'
OUTPUT=($(lsblk -dpno name)) #Listing des disques présents sur la machine sous la forme "/dev/sd*" dans un array
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
LOG=($(eval echo ~$USER/SANTE_DISK)) #Chemin du fichier de sortie du test (dans le repertoire home de l utilisateur)
PACKAGES=(smartmontools mailutils) #Liste des paquets necessaires
date > $HOME/SANTE_DISK #RAZ fichier de sortie + inscription date
for i in "${PACKAGES[@]}" #Verification et installation des paquets necessaires
do
if ! dpkg -s $i >/dev/null 2>&1; then
echo "Installation du paquet "$i""
apt install $i
fi
done
date > $LOG #RAZ fichier de sortie + inscription date
for i in "${OUTPUT[@]}" #Boucle de test sur chaque disque
do
@ -26,22 +35,21 @@ 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
echo "----------------------------------------------------------------" >> $LOG
echo "DISK "$i"" >> $LOG
/usr/sbin/smartctl -i "$i" | grep "Model Family" >> $LOG
/usr/sbin/smartctl -i "$i" | grep "Device Model" >> $LOG
/usr/sbin/smartctl -i "$i" | grep "Serial Number" >> $LOG
/usr/sbin/smartctl -i "$i" | grep "Firmware" >> $LOG
echo " " >> $LOG
/usr/sbin/smartctl -H -A -l selftest "$i" >> $LOG
echo " " >> $LOG
done
echo "**************************************************
***** TESTS TERMINES ET LOG DISPONIBLE SOUS *****
************ $HOME/SANTE_DISK *************
************ $LOG *************
**************************************************"
cat $HOME/SANTE_DISK | /usr/bin/mailx -s "Sante des disques sur $HOSTNAME" $USER@localhost #envoi de mail
read'
cat $LOG | /usr/bin/mailx -s "Sante des disques sur $HOSTNAME" $USER@$HOSTNAME #envoi de mail
read'