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

Configurando Cronjob para Linux

Estas en el tema de Configurando Cronjob para Linux en el foro de Unix / Linux en Foros del Web. Hola amigos, estoy intentando programar una tarea con Cronjob en Linux. Quiero que se ejecute un script cada 24 horas a las 12:00 AM: (Once ...
  #1 (permalink)  
Antiguo 05/02/2012, 23:15
 
Fecha de Ingreso: noviembre-2010
Mensajes: 116
Antigüedad: 14 años
Puntos: 7
Configurando Cronjob para Linux

Hola amigos, estoy intentando programar una tarea con Cronjob en Linux. Quiero que se ejecute un script cada 24 horas a las 12:00 AM: (Once a Day)


Minute Hour Day Month Weekday
0 0 * * *

Hasta hay todo bien, pero he probado dos tipos de comandos para ejecutar la tarea:

1. public_html/cron/archivo.php

Este me envio la siguiente notificación a mi Email:

Set-Cookie: ln=English
Set-Cookie: PHPSESSID=03d777cdf06033f221dd69a91c6e566e88; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Pragma: no-cache
Cache-control: private
Content-type: text/html

Done.

El segundo fue este:

2. wget -O /dev/null http://www.misitio.com/cron/archivo.php

Y la notificación que envió a mi email fue esta:

--2012-02-05 22:44:01-- http://www.misitio.com/cron/archivo.php
Resolving www.misitio.com... 52.118.86.219
Connecting to www.misitio.com|52.118.86.219|:80... connected.
HTTP request sent, awaiting response... 500 Internal Server Error
2012-02-05 22:44:01 ERROR 500: Internal Server Error.


Lo curioso es que ninguno de los dos realiza la tarea con exito, el primero parece trabajar bien, pero solo cuando lo programo para ejecutarse cada 5 minutos, llevo 3 noches esperando que se ejecute como lo programo normalmente (Todos los dias a las 12:00 AM)

Del segundo no se ni que decir, ya que cuando intento ir directamente a http://www.misitio.com/cron/archivo.php todo me indica que no hay problema. Entonces por que el error ?

Y otra cosa que quiero añadir, es que se supone que la IP de mi servidor debe llevarme a mi sitio web (Al principal alojado en public_html) pero resulta que me lleva directamente a otro directorio donde tengo el foro de mi sitio es decir foro.misitio.com

Gracias de ante mano, espero que me puedan ayudar.

Saludos!
  #2 (permalink)  
Antiguo 06/02/2012, 03:10
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 20 años, 2 meses
Puntos: 71
Respuesta: Configurando Cronjob para Linux

Para ejecutar un fichero php desde la linea de comandos debes usar el interprete "php" no sirve con descargar el fichero con wget o ejecutar el fichero php a secas.
  #3 (permalink)  
Antiguo 06/02/2012, 07:55
 
Fecha de Ingreso: noviembre-2010
Mensajes: 116
Antigüedad: 14 años
Puntos: 7
Respuesta: Configurando Cronjob para Linux

Cita:
Iniciado por DooBie Ver Mensaje
Para ejecutar un fichero php desde la linea de comandos debes usar el interprete "php" no sirve con descargar el fichero con wget o ejecutar el fichero php a secas.
Gracias, bueno te comento que lo he intentado, he ejecutado el archivo con el siguiente comando:

php -f public_html/ruta/del/archivo/nombrearchivo.php

Y el resultado fue este:

<br />
<b>Warning</b>: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cookie - headers already sent in <b>/home/usuario/public_html/conmon.php</b> on line <b>5617</b><br />
<br />
<b>Warning</b>: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at /home/usuario/public_html/conmon.php:5617) in <b>/home/usuario/public_html/conmon.php</b> on line <b>5617</b><br />
Done.

El archivo que intento ejecutar tiene las siguientes lineas antes del cogido php:

#!/usr/bin/php

Algo que ver?

Gracias por responder!
  #4 (permalink)  
Antiguo 06/02/2012, 08:36
Avatar de mcun  
Fecha de Ingreso: octubre-2010
Ubicación: tras la pantalla
Mensajes: 466
Antigüedad: 14 años, 1 mes
Puntos: 55
Respuesta: Configurando Cronjob para Linux

ve por pasos primero has el script que realiza la tarea y asegúrate que funciona bien.

luego ejecútalo desde la linea de comando y asegúrate que funciona.

luego programas la tarea ...
  #5 (permalink)  
Antiguo 06/02/2012, 08:59
 
Fecha de Ingreso: noviembre-2010
Mensajes: 116
Antigüedad: 14 años
Puntos: 7
Respuesta: Configurando Cronjob para Linux

Cita:
Iniciado por mcun Ver Mensaje
ve por pasos primero has el script que realiza la tarea y asegúrate que funciona bien.

luego ejecútalo desde la linea de comando y asegúrate que funciona.

luego programas la tarea ...
Gracias,

He probado el Script y funciona. Pero cuando lo programo no.
  #6 (permalink)  
Antiguo 06/02/2012, 09:00
Avatar de mcun  
Fecha de Ingreso: octubre-2010
Ubicación: tras la pantalla
Mensajes: 466
Antigüedad: 14 años, 1 mes
Puntos: 55
Respuesta: Configurando Cronjob para Linux

entonces tu problema esta en la programación osea en los parámetros que le pasas al cron

http://www.linuxtotal.com.mx/index.p...info_admon_006
  #7 (permalink)  
Antiguo 06/02/2012, 10:45
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 20 años, 2 meses
Puntos: 71
Respuesta: Configurando Cronjob para Linux

Cita:
Iniciado por shamaka Ver Mensaje
Gracias, bueno te comento que lo he intentado, he ejecutado el archivo con el siguiente comando:

php -f public_html/ruta/del/archivo/nombrearchivo.php

Y el resultado fue este:

<br />
<b>Warning</b>: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cookie - headers already sent in <b>/home/usuario/public_html/conmon.php</b> on line <b>5617</b><br />
<br />
<b>Warning</b>: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at /home/usuario/public_html/conmon.php:5617) in <b>/home/usuario/public_html/conmon.php</b> on line <b>5617</b><br />
Done.

El archivo que intento ejecutar tiene las siguientes lineas antes del cogido php:

#!/usr/bin/php

Algo que ver?

Gracias por responder!
Usa la ruta completa al fichero php
Ademas de eso, ese fichero y el directorio que lo contiene deben poder "verse" por cron, lo mas rapido es hacer un chmod 777 o poner el script en un directorio de acceso comun (/var/lib, /opt, o el que se te ocurra)
  #8 (permalink)  
Antiguo 06/02/2012, 16:21
 
Fecha de Ingreso: noviembre-2010
Mensajes: 116
Antigüedad: 14 años
Puntos: 7
Respuesta: Configurando Cronjob para Linux

Gracias DooBie he hecho lo que me dijiste, pero sin resultados, vuelve a dar el mismo error:

<br />
<b>Warning</b>: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cookie - headers already sent in <b>/home/usuario/public_html/conmon.php</b> on line <b>5617</b><br />
<br />
<b>Warning</b>: session_start() [<a href='function.session-start'>function.session-start</a>]: Cannot send session cache limiter - headers already sent (output started at /home/usuario/public_html/conmon.php:5617) in <b>/home/usuario/public_html/conmon.php</b> on line <b>5617</b><br />
Done.

Seguire intentado, debe haber una solucion. =)

Gracias por su ayuda, y cualquier otra sugterencia, me dicen
  #9 (permalink)  
Antiguo 06/02/2012, 17:34
Avatar de DooBie  
Fecha de Ingreso: septiembre-2004
Mensajes: 1.101
Antigüedad: 20 años, 2 meses
Puntos: 71
Respuesta: Configurando Cronjob para Linux

Pero si lo ejecutas desde la linea de comandos, te funciona?
  #10 (permalink)  
Antiguo 06/02/2012, 22:37
 
Fecha de Ingreso: noviembre-2010
Mensajes: 116
Antigüedad: 14 años
Puntos: 7
Respuesta: Configurando Cronjob para Linux

Cita:
Iniciado por DooBie Ver Mensaje
Pero si lo ejecutas desde la linea de comandos, te funciona?
Gracias, pero he soluciona el problema!!!

Estas lineas en el código PHP del archivo #!/usr/bin/php lo que hace es evitar que yo tenga que colocar la linea de comando de esta manera

php -f public_html/ruta/del/archivo/nombrearchivo.php

ya que interpreta php, por lo que la manera correcta era:

public_html/cron/archivo.php

Yo cometí el error de subir un archivo dañado, el que subí primero estaba bien, pero yo tenia la linea de comando bien configurada, por lo me daba error, luego subi el archivo bueno pero configure la linea de comando mal. jejeje

Fue todo una confusión, no se ni como confundía los archivos, (La desesperación)

al final, subí el archivo bueno, y coloque la linea de comando correcta.

Gracias por su ayuda! y recuerden que estas lineas #!/usr/bin/php en su código PHP interpretan PHP a la hora de ejecutar la linea de comando.

Muchas gracias por su ayuda! Exitos!
  #11 (permalink)  
Antiguo 07/02/2012, 16:11
Avatar de mcun  
Fecha de Ingreso: octubre-2010
Ubicación: tras la pantalla
Mensajes: 466
Antigüedad: 14 años, 1 mes
Puntos: 55
Respuesta: Configurando Cronjob para Linux

Bueno al fin !!!

Etiquetas: cron, cronjob, linux
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 08:01.