J’ai dans /usr/local/bin fais un script pour tester ma crontab. Ce script envoi un mail avec la commande echo. Ma crontab est rédigé comme ceci (la fréquence c’était juste pour mon test.
*/1 * * * * bash mailtest.
Sauf que je reçois le message ci dessous (en lieu et place de celui choisis) : bash: mailtest: No such file or directory
Alors j’imagine que du coup cron ne sais pas regarder dans /usr/local/bin, ou alors il y un chemin à indiqué ?
ah oui c’était logique en faite merci le message évolue j’ai :
/bin/sh: 1: /usr/local/bin/mailtest: Permission denied
C’est la crontab de root (si sa as une influence).
Oui cela je maitrise cette fois ci j’ai un fichier vierge avec le début de déja marqué
Ajoute SHELL=/bin/bash au début de ta crontab, ou sinon passe par sh en changeant ton shebang. Cron se réfère à sh je crois bien, et sh est un lien symbolique qui pointe vers dash et non bash sur raspbian ou ubuntu par exemple.
Tu peux le vérifier avec:
Les 2 solutions fonctionnent.
Voici pour info ce que j’utilise dans mes crontabs pour éviter ce genre de problèmes mais également les erreurs d’encodage dans les rapports mails. Basé sur ta ligne, et pour couvrir les différents cas rencontrés, ça donnerait:
Dans ton cas seule la première ligne était nécessaire (ou bien le déclarer explicitement comme la solution donnée par Aleks ) , cependant les autres lignes pourront peut-être te servir le jour où tu rencontreras des soucis d’encodage avec tes tâches cron.