Salut à tous,
J'ai crée un script en bash pour tester si la température de mes processeurs ne dépasse pas un certain seuil, je l'ai testé manuellement et fonctionne correctement mais quand je le mets dans un cron il ne se passe rien, je ne sais pas si vous avez une idée comment régler ça.
Voici le script:
#!/bin/bash
# Script sert a relever les temperatures des processeurs automatiquement, si temperature trop elevee eteindre ordi. et envoyer un message.
TempLimit=30
PROC0=1
PROC1=2
PROC2=3
PROC3=4
PROC4=5
PROC5=6
PROC6=7
PROC7=8
TEMP1=$(sensors | grep Core | cut -d":" -f2 | tr -d ' °C' | cut -c 1-3 | sed -n "1 p")
TEMP2=$(sensors | grep Core | cut -d":" -f2 | tr -d ' °C' | cut -c 1-3 | sed -n "2 p")
TEMP3=$(sensors | grep Core | cut -d":" -f2 | tr -d ' °C' | cut -c 1-3 | sed -n "3 p")
TEMP4=$(sensors | grep Core | cut -d":" -f2 | tr -d ' °C' | cut -c 1-3 | sed -n "4 p")
TEMP5=$(sensors | grep Core | cut -d":" -f2 | tr -d ' °C' | cut -c 1-3 | sed -n "5 p")
TEMP6=$(sensors | grep Core | cut -d":" -f2 | tr -d ' °C' | cut -c 1-3 | sed -n "6 p")
TEMP7=$(sensors | grep Core | cut -d":" -f2 | tr -d ' °C' | cut -c 1-3 | sed -n "7 p")
TEMP8=$(sensors | grep Core | cut -d":" -f2 | tr -d ' °C' | cut -c 1-3 | sed -n "8 p")
echo "La temperature du process $PROC0 est: $TEMP1 C"
echo "La temperature du process $PROC1 est: $TEMP2 C"
echo "La temperature du process $PROC2 est: $TEMP3 C"
echo "La temperature du process $PROC3 est: $TEMP4 C"
echo "La temperature du process $PROC4 est: $TEMP5 C"
echo "La temperature du process $PROC5 est: $TEMP6 C"
echo "La temperature du process $PROC6 est: $TEMP7 C"
echo "La temperature du process $PROC7 est: $TEMP8 C"
if [[ $TEMP1 -gt $TempLimit || $TEMP2 -gt $TempLimit || $TEMP3 -gt $TempLimit || $TEMP4 -gt $TempLimit || $TEMP5 -gt $TempLimit || $TEMP6 -gt $TempLimit || $TEMP7 -gt $TempLimit || $TEMP8 -gt $TempLimit ]];
then
echo Temperature du process $TEMP1=$TempLimit C : $TEMP2=$TempLimit C : $TEMP3=$TempLimit C : $TEMP4=$TempLimit C $TEMP5=$TempLimit C : $TEMP6=$TempLimit C : $TEMP7=$TempLimit C : $TEMP8=$TempLimit C
depassant le seuil de: $TempLimit C trop elevee, machine eteinte le: `date`| /bin/mail -s 'CheckUP temperature du processuer' nedjarh@hotmail.com
#eteindre la machine
halt -p
fi
J'ai fixé exprés le limite à 30 degrés pour que la machine s'éteigne mais ne se passe rien, bien que quand je l'exécute manuellement elle s'éteigne.
Et voici mon cron:
*/3 * * * * /home/hacene/bin/temperature_process.sh > /dev/null
Merci de votre aide.
PS: Mon cron est bien activé car j'ai déjà un autre script qui fait un backup de mes fichiers et qui fonctionne correctement.