Mostrando las entradas con la etiqueta Cron Jobs. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Cron Jobs. Mostrar todas las entradas

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