Ayuda CronJob

suaveSHOW

Buenas, estoy trabajando en una página y tengo que hacer una tarea programada que ejecute un archivo php del servidor.

He llegado en mi panel plesk hasta donde se añade la tarea pero mi duda viene cuando tengo que poner la linea de comando, como podría hacer para ejecutar en un hipotetico caso:
http://url.com/funcs/limpieza.php y hacer dentro de este php un sistema que no pueda ejecutarlo cualquiera jeje.

Saludos.

PiradoIV

El comando sería:
/usr/bin/curl http://url.com/funcs/limpieza.php -s

erdanblo

#1 mmm, pero eso si tuviese curl (me he encontrado con hostings compartidos que no tienen),

otra opción es usar php-cli, es decir, la lanzar el script desde la línea de comandos.

el comando sería

php-cli /ruta/absoluta/script.php

(o php en vez de cli)

Si no encontrarse el ejecutable (command not found), como dice Pirado

/usr/bin/php - php-cli

PiradoIV

Si, bueno, presupuse que no estaría el fichero en el mismo servidor :$

erdanblo

cierto, no me fije del todo en tu url :P

Recuerdo que hace años queria hacer una cosa que salió de usar gmail como servidor de ficheros y descargarlos vía web o algo asi (te hablo de la época de diseñadores.biz xDD), y el hosting de nggn no soportaba curl. Les mande un ticket, y en un par de horitas ya instalaron la libreria (me imagino que un aptitude install y a correr) y tuve el script funcionando.

suaveSHOW

y como hago para que solo se pueda ejecutar desde el cron job y no cualquier usuario desde la url.

LOc0

php -f /bla/bla/bla/limpieza.php mipassword

<?php

if($argv[1]=='mipassword')
{

/* GO */

}

?>

Otra opción es cambiando los permisos de limpieza.php con CHMOD para que sólo el propietario del script pueda ejecutarlo.

Salu2 ;)

erdanblo

#6 Si es posible, ponerlo fuera de la ruta pública.

por ejemplo si tu hosting es /home/usuario/public_html

ponerlo en /home/usuario

A eso, le sumas lo que dice loco, y andando.

suaveSHOW

Muchas gracias gente :)

Usuarios habituales

  • suaveSHOW
  • erdanblo
  • LOc0
  • PiradoIV