Bonjour,
J'ai construit un script pour check des paramètres de la table SMART suivant le type de disque HDD ou SSD.
Seulement, j'ai un comportement différent lorsque je lance le script via un crontab et via un shell bash.
Exemple depuis le shell bash :
~/scripts_scheduler# ./script_check_hdd_ssd_sdx.sh
Par mail, j'obtiens le corps du mail suivant :
Alerte niveau 1/5 : reallocated visible,bad sector < 145 0
Exemple depuis un crontab :
crontab -e
@daily /root/scripts_scheduler/script_check_hdd_ssd_sdx.sh >/dev/null 2>&1
Par mail, j'obtiens le corps du mail suivant :
Revoir Attribut Pending Smartctl : PENDING
Lien pour le code complet.
https://debian-facile.org/paste-0E5C976707-a7ca3cfd8955e37f30fb205044559610
Je me demande ce qui cloche entre une execution à la main et un crontab !
Merci pour votre retour.
# Logs
Posté par Olivier Esver (site web personnel) . Évalué à 3 (+1/-0).
Est ce que tu as regardé le comportement en mettant dans ton cron tab la redirection vers un fichier de log et non /dev/null ?
Style :
@daily /root/scripts_scheduler/script_check_hdd_ssd_sdx.sh >/root/monscript.log 2>&1
S'il y a un problème, il y a une solution; s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
[^] # Re: Logs
Posté par electro575 . Évalué à 1 (+0/-0).
Non, pas encore mais je peux faire cette étape !
Un topic sur les variables d'environnement dit.
Bon je sais pas si j'ai été clair en résumé si un script qui fonctionne ,ne fonctionne plus avec crontab il faut se penché sur les variables d'environnement et le PATH.
Avec crontab env et PATH me renvoie
env
HOME=/home/stephane
LOGNAME=stephane
LANG=fr_FR.UTF-8
SHELL=/bin/sh
PWD=/home/stephane
PATH=/usr/bin:/bin
[^] # Re: Logs
Posté par Olivier Esver (site web personnel) . Évalué à 2 (+0/-0).
J'ai l'impression que tu lances ton script avec l'utilisateur root, et ton cron est bien celui de root ?
S'il y a un problème, il y a une solution; s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.
[^] # Re: PATH
Posté par cyberjunkie . Évalué à 2 (+1/-0).
Se pourrait-il que l'utilitaire smartctl ne soit pas dans le PATH utilisé par ton script quand il est exécuté via crontab ?
Chez moi, sur un Mint 21.3, il se trouve dans /usr/sbin
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.