miércoles, enero 22, 2014

Tareas automaticas con Crontab (Cron Jobs) por Consola.


Bueno para crear Tareas Automaticas:

Editando el archivo crontab


Primero, para editar crontab, en el terminal escribes:

sudo crontab -e

Como puedes ver, la entrada típica de crontab cumple con el formato:

[m] [h] [dom] [mon] [dow] [command]

Ahora miramos que significa cada parámetro:

Parámetro  Significado                     Rango

m          minute (minuto)                 0-59
h          hour (hora)                     0-23
dom        day of month (día del mes)      1-31
mon        month (mes)                     1-12
dow        day of week (día de la semana)  0-6 (0=Domingo)
command    command (comando)

Si miramos el archivo que se nos abre al ejecutar sudo crontab -e, veremos que nos indica que hay que escribir y en que orden.

Ahora vamos al grano con ejemplos:

Supongamos que queremos ejecutar un script el primero de cada mes, a las 4 de la tarde:

* 16 1 * * /home/usuario/Script/amarok/miscript

Ejecutar un archivo php para correr un envio de correos el primero de cada mes, además de todos los lunes,  a las 4 de la tarde por ejemplo:

* 16 1 * 1 php /home/username/public_html/miphp.php

o Importar una base de datos:

* 16 1 * 1 mysql -u mysql_user -ppassword database_name < backup.sql

Otra manera PHP

* 16 1 * 1 /usr/local/php5/bin/php5 /home/username/public_html/cron.php

SSH

* 16 1 * 1 /bin/sh /home/username/public_html/file.sh

Supongamos que deseas que el script se ejecute cada tres horas el primero de cada mes a partir de las 4 de la tarde:

* "16-23/3" 1 * * php /home/username/public_html/miphp.php

Tambien podemos especificar dos o mas variables separadas por comas (,).

Ejemplos:

Ejecutar un archivo todos los lunes cada media hora

0,30 * * * 1 php /home/username/public_html/miphp.php

O cada 15 minutos sería:

0,15,30,45 * * * * php /home/username/public_html/miphp.php

ó de la manera pasada:

*/15 * * * * php /home/username/public_html/miphp.php

Ahora vemos como pasarle mas de un comando al Cron:

30 21 * * * cd /media/sda7/user/distributions/isos;wget http://mipagina/archivo.zip

Vemos que los parametros estan separados por punto y coma (;).

Para Ver la lista de tareas que hemos programado escribimos:

crontab -l

Para borrar nuestro crontab:

crontab -r

No hay comentarios.: