Foros del Web » Programando para Internet » PHP »

Cron desde codigo php

Estas en el tema de Cron desde codigo php en el foro de PHP en Foros del Web. buenas, como setear los parametros de un cron (pagina destino, frecuencia, horario, etc) desde una pagina php? gracias de antemano...
  #1 (permalink)  
Antiguo 27/05/2005, 19:18
 
Fecha de Ingreso: junio-2004
Mensajes: 26
Antigüedad: 19 años, 9 meses
Puntos: 0
Cron desde codigo php

buenas,

como setear los parametros de un cron (pagina destino, frecuencia, horario, etc) desde una pagina php?

gracias de antemano
  #2 (permalink)  
Antiguo 27/05/2005, 20:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
En principio sólo desde PHP podrías "lanzar" el comando al S.O. correspondiente para crear esa taréa en tu Cron Job.

Eso lo harías con funciones como exec() .. system() y afines. El comando a ejecutar lo debes conocer tu de antemano (revisa un manual de Linux si no lo conoces), pero .. es probable que tengas problemas de permisos. PHP al "salir" al S.O. lo hace bajo cierto usuario (a veces el mismo que usa Apache si es que está instalado PHP como "módulo" de este) así que antes de pretender usar ese comando tendrías que "cambiar" de usuario al que tenga permisos para hacer tal acción (con "sudo" por ejemplo) .. esta acción es muyyyyyyyyyyy peligrosa y nada recomendable .. expones al servidor entero ante una falla de seguridad de tu código o PHP incluso ...

Si usas un servicio de hosting con un "cPanel" (panel de control) .. lo más probable (no por el cPanel .. sino por no ser tu própio servidor) no vas a tener permisos para ejecutar el comando que necesitas ..) En este caso, podrías "llamar" al scritp "CGI" de cPanel que corresponda (con su autentificación por médio) para mandarle los datos que corresponda a este y ese a su vez hará el trabajo "físico" sobre el S.O. de creación del Cron Job.

No indicas en que situación estas .. si usas tus própios servidores .. si usas un servicio de hosting (tal vez con un panel de control tipo cPanel? ..) o que exactamente (ni el S.O. del servidor .. aunque si hablas de "Cron Job" se ha de suponer que usas Linux) .. Concreta esos datos para "atinar" algo mejor con la respuesta que te puedan dar.

Un saludo,
  #3 (permalink)  
Antiguo 28/05/2005, 17:12
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 5 meses
Puntos: 1
Cita:
Iniciado por Cluster
(con "sudo" por ejemplo) .. esta acción es muyyyyyyyyyyy peligrosa y nada recomendable .. expones al servidor entero ante una falla de seguridad de tu código o PHP incluso ...
Esto depende de como tengas tu archivo de sudoers. El archivo de sudoers permite configurar que es permitible ejecutar. Por ejemplo:

Código:
%apache ALL=(root)NOPASSWD: /usr/bin/chmod -R 755 /var/spool/asterisk/voicemail
esa linea en el archivo de sudoers permitiria que apache cambiarla los permisos unicamente de la carpeta /var/spool/asterisk/voicemail , asi como esa linea, tu puedes especificar muchas cosas mas para darle una seguridad aceptable a tu script de php. Asi mismo no debes olvidar las practicas buenas de programacion, como escapar con escapeshellargs()??? los comandos que vayas a ejecutar. Todo lo anterior es suponiendo que tu tienes tu propio servidor. Lamentablemente el caso de la mayor'ia es que tienen un shared hosting, en ese aspecto no puedo opinar ya que no se me ha presentado el caso.

saludos
  #4 (permalink)  
Antiguo 28/05/2005, 19:47
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
Ok, sism82 .. gracias por la aclaración .. Mi "alarmo" iva por el lado que si unes una "mal" uso de dicho comando y hasta una mala programación ..podrías estar en graves problemas. Así que si uno no está realmente seguro de lo que hace y bien documentado de los problemas que podrías tener ..mejor por el momento no exponer la seguridad a ese nivel.

Un saludo,
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 03:17.