Comment changer la coquille de cron (sh to bash)?

70

Est-il possible de faire des commandes dans crontab avec bash au lieu de sh? Je sais que vous pouvez passer des commandes avec bash -c, mais c’est ennuyeux et je n’utilise jamais sh de toute façon.

Duveteux
la source
Je ne sais pas vraiment ce que vous faites (vous n'êtes pas familier avec cron), mais si vous exécutez un script, alors l'ajout d'un shebang devrait fonctionner, mais je ne suis pas sûr que je sois correct.
Alvin Wong

Réponses:

103

Vous devriez pouvoir définir la variable d'environnement avant l'exécution du travail cron:

SHELL=/bin/bash
5 0 * * *       $HOME/bin/daily.job >> $HOME/tmp/out 2>&1
slm
la source
2
est-il possible de le faire aussi lire .bashrc?
Fluffy
3
@ Fluffy .bashrcest - par définition - pour les coques interactives ; Ainsi, une fois démarré via cron, bashne lira ce fichier que s'il s'agit d'un shell interactif .
Umlaute
18
J'ai pu le faire lire bashrc en ajoutant BASH_ENV="/root/.bashrc". Merci
Fluffy
2
@ Fluffy, vous devriez y répondre
vol7ron le
2
En ce qui concerne .bashrc, bash -lsemble utile, blog.endpoint.com/2015/02/cron-wrapper-keep-your-cron-jobs.html
mpapec