Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Cmo puedo ejecutar un script de php automaticamente

Estas en el tema de Cmo puedo ejecutar un script de php automaticamente en el foro de PHP en Foros del Web. Hola amigos. Mi Escenario Tengo que buscar una información en la base de datos y enviarla por correo o FTP a un contacto todos los ...
  #1 (permalink)  
Antiguo 20/05/2013, 09:04
 
Fecha de Ingreso: junio-2011
Mensajes: 80
Antigüedad: 12 años, 10 meses
Puntos: 8
Cmo puedo ejecutar un script de php automaticamente

Hola amigos.

Mi Escenario
Tengo que buscar una información en la base de datos y enviarla por correo o FTP a un contacto todos los días a las 6:00 AM.

He elaborado el script en PHP y he logrado obtener la informaión y enviarla por la vía de correo o FTP, pero no he logrado que lo haga automaticamente sin tener que entrar yo a la página y que esta corrra el proceso para generar el fichero y enviarlo.


Mi Duda
Existe la posiblidad de crear un script en PHP y que sea ejecutado automaticamente todos los días a las 6:00 AM sin que yo o algún usuario entre y ejecute la página web ?

Cómo podría ejecutar un script de PHP sin tener que abrir la página PHP donde se encuentra mi script o sin tener que refrescarla.

Datos Adicionales
LAMP Stack.
La página donde se encuentra este escript primero debe loguarse el usuario y depués puede ejecutar el script para ser generado el file y ser enviado.


Muchas Gracias de antemano por toda su ayuda.
  #2 (permalink)  
Antiguo 20/05/2013, 09:08
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Cmo puedo ejecutar un script de php automaticamente

Así es, si hay herramientas que te ayudan a ejecutar programas eventualmente.

En Windows son las tareas programadas y en sistemas tipo Unix CRON Jobs, te sugiero investigar al respecto.

La parte del login es complicada, porque cuando ejecutas tareas de este modo no existe ninguna interfaz gráfica, por lo tanto debes obviar los datos de acceso.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 20/05/2013, 09:19
 
Fecha de Ingreso: octubre-2012
Mensajes: 55
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Cmo puedo ejecutar un script de php automaticamente

Si es con Windows tienes que añadir la ruta de PHP.exe de tu servidor a las variables del sistema PATH, despues crear un CMD con la siguiente estructura:

php "C:\xampp\htdocs\ruta del script.php"

El ejemplo esta hecho con una ruta al servidor web Xamp donde alojo el script, adaptalo a lo tuyo.

Posteriormente añade este script a las tareas de windows, a mi me funciona asi.

Si lo quieres es iniciar un script mandado pass user necesitas "curl", es facil de usar y hay mucha información.
  #4 (permalink)  
Antiguo 20/05/2013, 09:24
 
Fecha de Ingreso: junio-2011
Mensajes: 80
Antigüedad: 12 años, 10 meses
Puntos: 8
Respuesta: Cmo puedo ejecutar un script de php automaticamente

Gracias pateketrueke,

Con tu ayuda he encontrado esto y es bastante simple.

00 * * * * /tu/ruta/TuScript.php

Ya se como funciona el crontab en linux y demás, pero me surgen mas duda con el login. Como podría usar esta opción con un Login de Usuario por delante ?

Y en el caso que quisiera hacer algo como una pantalla reflejando stadisticas en tiempo real.

Algo asi como el monitor de los areopuertos que siempre esta diciendo si el vuelo entró, se retrazó o no y se refresca automaticamente.

Como una sola pantalla donde por ejemplo en un mercado se vea y actualice constantemente cuantos productos entran y salen del almacén.

También sería con esta opción ? Y denuevo si está por detrás de un Login como se pudiera solucionar ?
  #5 (permalink)  
Antiguo 20/05/2013, 09:26
 
Fecha de Ingreso: junio-2011
Mensajes: 80
Antigüedad: 12 años, 10 meses
Puntos: 8
Respuesta: Cmo puedo ejecutar un script de php automaticamente

Gracias albertostudium,

Estoy trabajando en Linux.

Tendrías alguna idea de como guiarme con tu idea en Linux ?

Muchas Gracias.
  #6 (permalink)  
Antiguo 20/05/2013, 09:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Cmo puedo ejecutar un script de php automaticamente

¿El login que objetivo tiene?

Las tareas que ejecutes de ese modo deberían ser agnósticas al respecto, la idea es que recaben y realicen otras acciones periódicamente, para lo cual no es necesario ningún tipo de login. Vamos, que el login tiene sentido para limitar a los usuarios, pero no para el sistema en si.

Por eso te comentaba que por ese lado es complicado ya que no hay forma de andar pidiendo datos de acceso, así que sencillamente debes omitir el acceso y trabajar con los datos directamente, como sea es tu aplicación y no necesitas que un usuario de su contraseña para realizar ciertas tareas.

Es complicado entender todo lo que necesitas, pero bueno, si nos quieres explicar con mas detalle podríamos ver mejor.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 20/05/2013, 09:30
 
Fecha de Ingreso: octubre-2012
Mensajes: 55
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Cmo puedo ejecutar un script de php automaticamente

Pues la verdad que nunca lo he realizado en linux pero me imagino que no variara tanto sera creando un SH en vez de CMD.

De todas formas busca en google curl linux a ver que opciones te da.
  #8 (permalink)  
Antiguo 20/05/2013, 10:29
 
Fecha de Ingreso: junio-2011
Mensajes: 80
Antigüedad: 12 años, 10 meses
Puntos: 8
Respuesta: Cmo puedo ejecutar un script de php automaticamente

OK muchas gracias a mabos ha sido de mucha ayuda, tienes razón pateketrueke no tiene sentido estar detrás de un Login si es solo para que el sistema lo use. Pero es que tengo todos estos script detrás de un Login, ahora lo que tendría que ponerlos en ficheros aparte que solo el sistema pueda acceder a ellos.

Muchas gracias nuevamente por su ayuda.

Etiquetas: automaticamente
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 01:49.