web-dev-qa-db-fra.com

La commande fonctionne dans le terminal mais ne fonctionne pas dans crontab

j'ai un problème avec l'exécution de la commande simple terminal dans crontab.

vue du terminal:

touch  /home/eugene/`date +%d-%m-%y-%s`.txt

vue Crontab:

* *     * * *   root    touch  /home/eugene/`date +%d-%m-%y-%s`.txt

Si je lance cette commande dans le terminal, tout fonctionne parfaitement.

Affichage du fichier journal Cron (File: /var/log/cron.log):

Aug 30 22:15:01 eugene-desktop CRON[8809]: (root) CMD (   touch  /home/eugene/`date +)
Aug 30 22:16:01 eugene-desktop CRON[8859]: (root) CMD (   touch  /home/eugene/`date +)
Aug 30 22:17:01 eugene-desktop CRON[8896]: (root) CMD (   touch  /home/eugene/`date +)
1
fonjeekay

La crontab nécessite le chemin complet de la commande. Le chemin normal n'est pas utilisé dans crontab.

Essayez /bin/touch ou /usr/bin/touch, au lieu de simplement touch

2
luv.preet

Je crois que votre script devrait être:

* * * * *   root  /usr/bin/touch  /home/eugene/`date +%d-%m-%y-%s`.txt

Le chemin complet de la commande touch doit être utilisé

1
George Udosen