Help - Search - Members - Calendar
Full Version: Programar Cron para Ejecutar Fichero
The Planet Forums > General > Foro en Español / Spanish Forum > COMO-HACERLOs / HOWTOs en Español
IRCdPR
Aqui hay 2 Ejemplos para un cron diario y otro para un cron horario:

1. Shell script diario:



code:--------------------------------------------------------------------------------
#/bin/sh

wget --spider http://www.dominio1.com/croncadadia.php
wget --spider http://www.dominio2.com/croncadadia.php
wget --spider http://www.dominio3.com/croncadadia.php
wget --spider http://www.dominio4.com/croncadadia.php
--------------------------------------------------------------------------------


Guardalo como diario.sh, lo subes al server en ascii y le haces chmod 0755

*******

2. Shell script horario:


code:--------------------------------------------------------------------------------
#/bin/sh

wget --spider http://www.dominio1.com/croncadahora.php
wget --spider http://www.dominio2.com/croncadahora.php
wget --spider http://www.dominio3.com/croncadahora.php
wget --spider http://www.dominio4.com/croncadahora.php
--------------------------------------------------------------------------------


Guardalo como horario.sh, lo subes al server en ascii y le haces chmod 0755

*******

Ahora vamos a programar el cron. Puedes usar el cron del usuario admin o del root, o de cualquier usuario que tenga acceso al cron.

Supongamos que has subido los 2 archivos a /home/admin

Desde linea de comandos en el server haces:

crontab -e
Esto abre el archivo cron del user actual con el editor Vi:

pega esto dentro:


code:--------------------------------------------------------------------------------
MAILTO=""
15 11 * * * /home/admin/diario.sh
59 * * * * /home/admin/horario.sh
--------------------------------------------------------------------------------

Esto tambien puede Ser programado para algun usuario en especifico usando:

crontab -e -u USUARIO y pegas el mismo Codigo de Arriba.


El diario se ejecutará a las 11:15 de la mañana y el horario en el minuto 59 de cada hora.

Guarda y a esperar .... si quieres desde linea ejecutalos para ver si funciona:

/bin/sh /home/admin/diario.sh

/bin/sh /home/admin/horario.sh


Gracias a Jaume por este HowTo... icon_wink.gif
MEGA
veamos yo quiero ejecutar un archivo php cada 10 minutos.
En teoria debo crear el archivo archivo.sh y meter el siguiente codigo:
#/bin/sh

wget --spider http://www.dominio/archivo.php
subirlo por ascii,darle permisos 755 y luego en crontab -e
añadir
*/10 * * * * /home/user/archivo.sh

y ya estaria?
porque lo he echo y no funciona
IRCdPR
Correcto creas el archivo .sh, Luego con el crontab -e programaras el tiempo:

MAILTO=""
0 10 20 30 40 50 * /home/admin/diario.sh

Y lo Guardas y pruebas si funciona asi:


/bin/sh /home/admin/diario.sh


Espero te trabaje
icon_wink.gif
MEGA
la cuestion esque me salen errores de sintaxys al ejecutarlo en el cron ,pero si lo ejecuto desde la direccion de internet funciona correctamente.
sabes algo al respecto ?
IRCdPR
Postea el error a ver si te podemos ayudar...
MEGA
el comando wget es para download, no hay algun comando para ejecutar la pagina ?
IRCdPR
Aqui el wget lo que hace es llamar el archivo, obliga a la pagina a ejecutar dicho comando...icon_wink.gif
MEGA
pues no se como te lo montas pero no tira
jaume
en lugar de :
wget --spider http://www.dominio1.com/croncadahora.php

prueba:
wget --output-document=/dev/null http://www.dominio1.com/croncadahora.php
IRCdPR
Creo el que te dice jaume te trabajara...icon_biggrin.gif
SuperX
Qué pasa si tengo el wget bloqueado ???
hay alguna otra forma de hacerlo ?
IRCdPR
Te recomiendo que pongas los permisos del WGET a 700, yasi creo no te dara problemasy solo el root puede accesar el WGET. icon_wink.gif
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2010 Invision Power Services, Inc.