web-dev-qa-db-fra.com

Crontab ne gère aucun travail

J'essaie d'exécuter python Script avec crontab, mais mon crontab ne fonctionne rien.

J'ai essayé d'ajouter des emplois à crontab -e, à Sudo crontab -e à Sudo nano /etc/crontab. Le script que j'essaie d'utiliser (le fichier est exécutable avec chmod +x, la commande peut être exécutée dans le terminal):

2 * * * 1-5 python3 /home/foo/bar/update.py

Je l'ai enveloppé dans le script shell (le fichier est exécutable avec chmod +x, la commande peut être exécutée dans le terminal):

#!/bin/sh
Sudo python3 /home/foo/bar/update.py

Et courir:

2 * * * 1-5 sh /home/foo/bar/run_update.sh

Et puis essayé juste de gérer des échantillons d'emplois:

* * * * * /bin/echo "cron works" >> /tmp/file
* * * * * env > /tmp/env.output

Rien ne fonctionne, aucun fichier n'est créé, pas de sortie dans les journaux, si j'essaie de conduire à vous connecter, rien ne se passe aussi. Je suis sûr que le service Cron est en cours d'exécution, mais j'ai complètement bloqué comment le faire travailler.

2
user1039698

L'environnement d'exécution cron est très différent de l'environnement d'exécution de l'interface graphique. Cours

env | sort; set

dans chaque environnement, enregistrez les résultats dans un fichier.

Si vous organisez votre ~/.bashrc vous pouvez précisément préférer votre Python script avec

#!/bin/bash
. $HOME/.bashrc
yourPythonScript

pour configurer votre environnement cron.

Lis man -a crontab;man -a cron.

1
waltinator