Proxmox Script Proxmox

Benou

Nouveau membre
2 Septembre 2021
14
4
3
Bonjour,

Sous proxmox, j'ai fais un script qui me permet de récupèrer la température des disques.
Si j'exécute si script manuellement, je n'ai pas de souci, mais lors de l'exécution du script, je n'ai pas les températures (le script ce lance bien puisque la date est rajouté dans le fichier txt de sortie.
Comme si le script ne pouvait accéder aux infos des disques. Le script est lancé en tant que root.

Voici le script:
Bash:
#!/bin/sh
echo  "#################" >> /root/log.txt
echo  $(date) >> /root/log.txt
echo  "HDD1 \t HDD2 \t HDD3 \t HDD4 \t HDD5 \t SSD" >> /root/log.txt
HDD1=$(hddtemp /dev/sda | awk '{print $4}' | cut -b 1,2)
HDD2=$(hddtemp /dev/sdb | awk '{print $4}' | cut -b 1,2)
HDD3=$(hddtemp /dev/sdc | awk '{print $4}' | cut -b 1,2)
HDD4=$(hddtemp /dev/sdd | awk '{print $4}' | cut -b 1,2)
HDD5=$(hddtemp /dev/sdf | awk '{print $4}' | cut -b 1,2)
SSD=$(hddtemp /dev/sde | awk '{print $4}' | cut -b 1,2)
echo  $HDD1 '\t' $HDD2 '\t' $HDD3 '\t' $HDD4 '\t' $HDD5 '\t' $SSD >> /root/log.txt
echo '\t' >> /root/log.txt
 
Bonjour,

J'ai testé ton script manuellement et avec un cronjob (toutes les minutes) et il fonctionne sur mon serveur Proxmox.

hddtemp.png

hddtemp01.png

Comment exécute tu le script ?
 
Dernière édition:
Bonjour,
Merci pour ton retour.

j'ai modifié le fichier crontab:
root@proxmox:~# crontab -e

et rajouté la ligne suivante:
*/15 * * * * /root/HDD_tmp.sh

et voici les droits du fichier de script, dans le repertoire root:
-rwxr-xr-x 1 root root 1561 Mar 24 14:17 HDD_tmp.sh
 
Je ne passe pas par le crontab utilisateur mais par un "cronjob" système (/etc/cron.d/monfichiercron) et je préfixe l'appel par 'sh'.

Essaye par ce moyen là, pour voir si cela fonctionne :

Code:
*/15 * * * * root sh /root/HDD_tmp.sh > /dev/null 2>&1

J'ai les même droits sur le script appeler.
 
Je viens de faire la modif, mais j'ai toujours la même chose.
Le script est bien exécuté, mais ne récupère pas les infos de températures.
 
La seule chose qui me vienne à l'esprit est peut-être un problème de PATH en passant par le cron ?
hddtemp est localisé dans '/usr/sbin/'

Essaye en rajoutant au début de ton crontab ou cronjob :

Code:
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

Dans mon fichier cron système j'ai :

Code:
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

* * * * * root php /var/www/secuProxmox/scripts/statusServices.php > /dev/null 2>&1
....
 
Dernière édition:
Super, c'était bien ça.
J'ai rajouté la ligne de PATH dans le fichier d'appel du script et ça fonctionne.

Je te remercie.
 
  • J'aime
Réactions: Bambusa29