Hay dos maneras de crear un crontab - por usuario o globalmente. Para el crontab mundial (/ etc/crontab) que especifique el usuario, de acuerdo con:
# m h dom mon dow user command
17 * * * * root cd/&& run-parts --report /etc/cron.hourly
para el usuario crontabs no lo hace, según:
[email protected]:~$ crontab -l
0 * * * * /home/aj/bin/update-foobar
Para obtener una secuencia de comandos Python corriendo a través #!notación, que acaba de hacer el script ejecutable (chmod 755 /root/test.py), e invocar directamente, algo así como:
/root/test.py
Si no quieres hacer eso, se puede ejecutar a través de la Python intérprete con la mano, como:
/usr/bin/python /root/test.py
Esto supone que sea el usuario que se está ejecutando como (es decir, el usuario en/etc/crontab, o el usuario que está ejecutando crontab -e como) tiene permiso para ver el secuencia de comandos python -/raíz podría ser inaccesible para los usuarios regulares, por ejemplo.
Usted puede obtener una buena idea de si el guión está siendo ejecutado en absoluto añadiendo:
import time
time.sleep(20) # pause for 20 seconds
y luego consultar con "alto" o "ps aux" o "pstree" para ver si pitón de realidad corriendo.
0 1 * * */home/me/myscript aparece como una entrada de crontab válida – ojblass
¿Puede darnos la salida de "de dónde raíz", "qué raíz" y "buscar/-nombre raíz 2>/dev /nulo"? Debian no permite que se especifique un usuario en crontab, por lo que debemos suponer que root es un comando al que se llama (ver mi respuesta). – paxdiablo
Tendrá que abandonar la sección de usuario. Más bien su -, edite el crontab como raíz, omitiendo el nombre de usuario y se ejecutará bajo ese usuario. –