(ES)(Bash Scripting)Programar tareas con cron

cron es una herramienta presente en la inmensa mayoría de sistemas Linux que se utiliza para programar la ejecución de programas en unos momentos establecidos o cada cierto intervalo de tiempo. Para conseguir que un determinado programa se ejecute en el momento que nosotros queramos, hay que indicarle a cron la hora, el día,… con una estructura como esta: mm hh dd MM ss comando_a_ejecutar

* mm – Minuto en el que se ejecutará(0-59)
* hh – Hora (0-23)
* dd – Día de mes (1-31)
* MM – Mes (1-12)
* ss – Día de la semana (0-6 o sun, mon, tue...)

Puede parecer raro en un principio, a base de usarlo te acabas acostumbrando. Es importante tener claro que, además de valores enteros, podemos utilizar asteriscos a modo de comodín; un asterisco sustituye a todos los valores posibles del campo. Veamos unos ejemplos:

            • script_que_se_ejecuta_cada_minuto
  • 30 script_que_se_ejecuta_cada_hora (A y media)
  • 0 3 * script_que_se_ejecuta_cada_dia (A las 3)
  • 30 12 2 script_que_se_ejecuta_cada_martes (A las 12 y media)
  • 0 0 15 1 * script_que_se_ejecuta_cada_15_de_enero (A medianoche)
    Si queremos que se ejecuten en intervalos de tiempo más precisos, podemos utilizar el signo “ / “, o el signo “ - “ ; por ejemplo:

  • 0 /2 script_que_se_ejecuta_cada_2_horas

  • /15 * script_que_se_ejecuta_cada_15_minutos
  • 0 8-13 * script_que_se_ejecuta_cada_hora_de_8_a_1
  • 0 12 1-5 script_que_se_ejecuta_a_las_12_de_lunes_a_viernes
    Para introducir comentarios, se puede utilizar el carácter “#”. Todo lo que aparezca detrás de este carácter será ignorado por cron. Cron admite también algunos alias para las entradas más comunes:

  • @yearly o @annually script_que_se_ejecuta_cada_año

  • @monthly script_que_se_ejecuta_cada_mes
  • @weekly script_que_se_ejecuta_cada_semana
  • @daily script_que_se_ejecuta_cada_día
  • @hourly script_que_se_ejecuta_cada_hora
  • @reboot script_que_se_ejecuta_tras_cada_reinicio
    Para editar las entradas de cron que ya tengamos programadas o para añadir nuevas, vamos a utilizar el comando:

crontab -e
Si lo que queremos es simplemente listarlas, podemos hacerlo con:

crontab -l

Article automatically imported from my old wordpress blog. Here only for reference. Possible format errors and probable missing images. Sorry about that.

  • Previous post
  • Next post