2012-08-02 13 views
37

Hola He creado un archivo de Python por ejemplo como file_example.pyCómo ejecutar un archivo de Python usando cron puestos de trabajo

El archivo de salida el valor sensex

Supongamos que la ruta del archivo en el sistema Linux es /Desktop/downloads/file_example.py

y normalmente van a ejecutar el archivo como python file_example.py

Pero yo desee establecer una tarea programada para ejecutar el archivo pitón cada 2 minutos que se encuentra en la trayectoria anterior

Puede alguien por favor hágamelo saber cómo hacer esto

código editado:

había editado el código y ha creado una escritura del golpe con el nombre test.sh como se indica a continuación

#!/bin/bash 
cd /Desktop/downloads/file_example.py 
python file_example.py 2>log.txt 

Cuando ejecuto el archivo de arriba, se muestra el siguiente error:

sh-4.2$ python test.sh 
    File "test.sh", line 3 
    python test.py 2>log.txt 
      ^
SyntaxError: invalid syntax 
+1

¿Qué hacer cuando se agrega su llamada al crontab? ¿Qué no está funcionando? – John3136

+0

@ John3136: crontab: instalar nuevo crontab "/tmp/crontab.TdDFOh":1: errores de minuto malo errores en el archivo crontab, no se puede instalar. ¿Desea volver a intentar la misma edición? –

+0

Está mostrando el error anterior cuando intenté hacer esto en cron tab/2 * * * * /Desktop/downloads/file_example.py –

Respuesta

47

Suponiendo que está utilizando un sistema operativo Unix, haría lo siguiente.

editar el archivo crontab con el comando

crontab -e 

agregar una línea similar a la de abajo

*/2 * * * * /Desktop/downloads/file_example.py 

este puede ser utilizado para ejecutar otros scripts simplemente utilizar la ruta a la secuencia necesaria es decir,

*/2 * * * * /path/to/script/to/run.sh 

Una explicación de la temporización es más abajo (agregue una estrella y una barra antes número para ejecutar cada n timesteps, en este caso cada 2 minutos)

* * * * * command to be executed 
- - - - - 
| | | | | 
| | | | ----- Day of week (0 - 7) (Sunday=0 or 7) 
| | | ------- Month (1 - 12) 
| | --------- Day of month (1 - 31) 
| ----------- Hour (0 - 23) 
------------- Minute (0 - 59) 
+0

El código anterior es útil, de hecho algunas veces he encontrado que crear scripts bash (con .sh) extensión) y ejecutarlos, ¿puedo saber acerca de este concepto y ambos difieren? –

+0

puede ejecutarlos exactamente de la misma manera, siempre y cuando la línea shebang, por ejemplo #!/usr/bin/sh esté incluida en el archivo –

+0

sí en realidad había visto algunas rutas en el archivo tan confusas, ¿en el comando bash necesita dar la ruta del archivo que se va a ejecutar? –

20

Puede utilizar el módulo python-crontab.

https://pypi.python.org/pypi/python-crontab

Para crear una nueva tarea cron es tan simple como sigue:

from crontab import CronTab 
#init cron 
cron = CronTab() 

#add new cron job 
job = cron.new(command='/usr/bin/echo') 

#job settings 
job.hour.every(4) 
Cuestiones relacionadas