Foros del Web » Administración de Sistemas » Unix / Linux »

[SOLUCIONADO] Problema con script en python y crontab

Estas en el tema de Problema con script en python y crontab en el foro de Unix / Linux en Foros del Web. Hola, mi problema es que coloco esta tarea en cron de debian y no me ejecuta el script que actualiza una base de datos con ...
  #1 (permalink)  
Antiguo 04/06/2013, 12:49
 
Fecha de Ingreso: noviembre-2012
Mensajes: 54
Antigüedad: 11 años, 4 meses
Puntos: 0
Problema con script en python y crontab

Hola, mi problema es que coloco esta tarea en cron de debian y no me ejecuta el script que actualiza una base de datos con informacion.

Probe el script afuera y funciona perfecto, pero con cron no funciona, ya probe darle permisos como decia en algun foro 755.

0 3 * * * root python /home/miscript/parser/parser.py
0 15 * * * root python /home/miscript/parser/parser.py
0 23 * * 5 root python /home/miscript/parser/parser.py
0 23 * * 6 root python /home/miscript/parser/parser.py
0 23 * * 7 root python /home/miscript/parser/parser.py

Gracias
  #2 (permalink)  
Antiguo 04/06/2013, 13:14
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 1 mes
Puntos: 1329
Respuesta: Problema con script en python y crontab

Si te funciona el script y luego el cron no el problema no está en el script. entonces este tema debería estar en el foro de linux.

Saludos
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 04/06/2013, 13:16
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Problema con script en python y crontab

Deberías de dejar un log al ejecutar el script, solamente para ver si realmente se ejecuta o no.

Algunos consejos:

Añade el shebang al principio de tu script.
Código Python:
Ver original
  1. #!/usr/bin/python

Añade permisos de ejecución:
Código BASH:
Ver original
  1. chmod a+x /home/miscript/parser/parser.py

Usa la ruta completa:
Código cron:
Ver original
  1. 0 3 * * * /home/miscript/parser/parser.py
  2. 0 15 * * * /home/miscript/parser/parser.py
  3. 0 23 * * 5 /home/miscript/parser/parser.py
  4. 0 23 * * 6 /home/miscript/parser/parser.py
  5. 0 23 * * 7 /home/miscript/parser/parser.py

Realmente no parece ser problema de python te movere al foro de linux hay probablemente te puedan orientar mejor.
  #4 (permalink)  
Antiguo 05/06/2013, 08:54
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con script en python y crontab

Agregando a los consejos ya dados: asegurate de tener un sendmail o qmail funcionando, así Cron entregará los mensajes de error como correo a tu cuenta local (podrás revisarlos con "mail" o "mailx")
  #5 (permalink)  
Antiguo 06/06/2013, 03:04
 
Fecha de Ingreso: noviembre-2012
Mensajes: 54
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Problema con script en python y crontab

En Syslog me aparece lo siguiente:


Jun 5 14:39:01 vmi14123 /USR/SBIN/CRON[3652]: (CRON) info (No MTA installed, discarding output)
Jun 5 15:00:01 vmi14123 /USR/SBIN/CRON[3687]: (root) CMD (root python /home/miscript/parser/parser.py >> /home/miscript/parser/salida.txt)
  #6 (permalink)  
Antiguo 06/06/2013, 03:05
 
Fecha de Ingreso: noviembre-2012
Mensajes: 54
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Problema con script en python y crontab

Pero aun sigue sin funcionarme.
  #7 (permalink)  
Antiguo 06/06/2013, 08:47
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con script en python y crontab

Lo dicho, instala sendmail, qmail o algún otro MTA para recibir los errores correctamente, de lo contrario estás a ciegas.

Segundo, ¿salida.txt contiene algo?
  #8 (permalink)  
Antiguo 06/06/2013, 08:54
Avatar de lord_zoo  
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 104
Antigüedad: 19 años, 2 meses
Puntos: 2
Respuesta: Problema con script en python y crontab

Perdon la ignorancia, pero para que necesitas el "root" delante de la llamada a python en tu linea de cron?
Tal vez sea eso lo que te traiga problemas.
Igual, tal como te dijeron, te conviene utilizar los path completos.

Podrias hacer lo siguiente tambien:
Código BASH:
Ver original
  1. 0 3 * * * root python /home/miscript/parser/parser.py
  2. 0 15 * * * /usr/bin/python /home/miscript/parser/parser.py
  3. 0 23 * * 5 /usr/bin/python /home/miscript/parser/parser.py
  4. 0 23 * * 6 /usr/bin/python /home/miscript/parser/parser.py
  5. 0 23 * * 7 /usr/bin/python /home/miscript/parser/parser.py

El resto, ya lo dijeron arriba y es lo mas correcto.

Saludos.
__________________
Tech IT - Consultoría GNU/Linux.
http://www.tech-it.com.ar
  #9 (permalink)  
Antiguo 06/06/2013, 08:58
Avatar de lord_zoo  
Fecha de Ingreso: febrero-2005
Ubicación: Buenos Aires
Mensajes: 104
Antigüedad: 19 años, 2 meses
Puntos: 2
Respuesta: Problema con script en python y crontab

Ignoren lo que pregunte sobre el "root" en cron... animalada mia.

Ahora me surge otra duda: ¿como estas editando los cron?
¿editando los archivo en /etc/cron.*/ o a traves de crontab -e?
__________________
Tech IT - Consultoría GNU/Linux.
http://www.tech-it.com.ar
  #10 (permalink)  
Antiguo 06/06/2013, 14:44
 
Fecha de Ingreso: noviembre-2012
Mensajes: 54
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Problema con script en python y crontab

En la salida del archivo salida.txt para saber errores al ejecutar el cron aparece los siguiente.

/bin/sh: 1: root: not found

Lo estoy editanto con crontab-e
  #11 (permalink)  
Antiguo 06/06/2013, 19:34
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con script en python y crontab

En TU crontab, no puede definirse el usuario. Solamente se permite definir el usuario (el 6to campo) en el archivo /etc/crontab. Deberás eliminar ese campo.
  #12 (permalink)  
Antiguo 07/06/2013, 01:58
 
Fecha de Ingreso: noviembre-2012
Mensajes: 54
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Problema con script en python y crontab

Estimado tengo esto, que elimino?.

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
  #13 (permalink)  
Antiguo 07/06/2013, 02:33
Avatar de barna_rasta  
Fecha de Ingreso: agosto-2003
Mensajes: 214
Antigüedad: 20 años, 8 meses
Puntos: 11
Respuesta: Problema con script en python y crontab

Hola self,
mira de hacer esta prueba:

Cita:
en el # cron -e pon esto:
57 * * * * /usr/bin/pruebacron
en /usr/bin crea el fichero pruebacron y dale permisos de ejecucion, debe conterer :

Cita:
echo 'Esto es una prueba de cron' > /tmp/cron.log
Restablece el demonio cron:
Cita:
Cita:
# /etc/init.d/cron restart
y comentas ..........

PD: Por cierto, veo que llamas anacron,
lo tienes instalado?
Cita:
Cita:
aptitude install anacron
************ No use nunca el campo usuario, pero creo que Debian no admite esa definicion,
************ cada usuario tiene definido su propio crontab en /var/spool/cron/crontabs
************ y los cron de sistema bajo anacron definidos en /etc/cron* y /etc/anacrontab
http://www.mononeurona.org/pages/display/132
http://www.debian-administration.org/articles/56

Última edición por barna_rasta; 07/06/2013 a las 03:54
  #14 (permalink)  
Antiguo 20/06/2013, 01:03
 
Fecha de Ingreso: noviembre-2012
Mensajes: 54
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Problema con script en python y crontab

Hola, en la salidas no paro de obtener esto.

/bin/sh: 1: root: not found
/bin/sh: 1: root: not found
/bin/sh: 1: root: not found
/bin/sh: 1: root: not found
/bin/sh: 1: root: not found
/bin/sh: 1: root: not found
/bin/sh: 1: root: not found
/bin/sh: 1: root: not found
  #15 (permalink)  
Antiguo 20/06/2013, 10:56
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con script en python y crontab

1. Busca los temas iniciados por Montes28 en este mismo foro. En particular, este:
http://www.forosdelweb.com/f41/probl...5/#post4450404
2. cito un mensaje previo:
Cita:
Iniciado por AlvaroG Ver Mensaje
En TU crontab, no puede definirse el usuario. Solamente se permite definir el usuario (el 6to campo) en el archivo /etc/crontab. Deberás eliminar ese campo.
  #16 (permalink)  
Antiguo 20/06/2013, 12:32
 
Fecha de Ingreso: noviembre-2012
Mensajes: 54
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Problema con script en python y crontab

Entonces quedaria asi?


0 15 * * * /usr/bin/python /home/parser/parser.py
  #17 (permalink)  
Antiguo 20/06/2013, 12:34
 
Fecha de Ingreso: noviembre-2012
Mensajes: 54
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Problema con script en python y crontab

Debo agregar algo en /etc/crontab???
  #18 (permalink)  
Antiguo 20/06/2013, 18:23
 
Fecha de Ingreso: octubre-2011
Mensajes: 166
Antigüedad: 12 años, 6 meses
Puntos: 31
Respuesta: Problema con script en python y crontab

1.- Sí, así debe quedar
2.- No debes agregar nada en /etc/crontab
2.- Si la tarea se debe realizar como usuario o como root lo va a definir si está creado en terminal de usuario o de root
3.- Todas las tareas de este tipo se almacenan para los sistemas Debian y sus crías en archivos ubicados en /var/spool/cron/crontabs
a esos archivos solo puedes acceder como root, por ejemplo si quieres ver las tareas programadas de root ejecuta
su
nano /var/spool/cron/crontabs/root
y si quieras ver las del usuario pepe, ejecuta
su
nano /var/spool/cron/crontabs/pepe
  #19 (permalink)  
Antiguo 21/06/2013, 09:50
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con script en python y crontab

Me parece mejor idea dejar que el programa crontab maneje esos archivos:

crontab -l para ver tu crontab
crontab -u pepito para ver el crontab de pepito (solamente root puede hacer esto)

De todas formas se necesita permisos de root para ver los archivos en /var/spool/cron
  #20 (permalink)  
Antiguo 21/06/2013, 13:42
 
Fecha de Ingreso: noviembre-2012
Mensajes: 54
Antigüedad: 11 años, 4 meses
Puntos: 0
Respuesta: Problema con script en python y crontab

Muchas gracias ya fue solucionado, solo debia quitar el root de la linea.

Etiquetas: crontab, mac, python
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:00.