IntelDig

Tutorial de Cron Jobs para principiantes

Cron es una de las utilidades más útiles que puedes encontrar en cualquier sistema operativo tipo Unix. Se usa para programar comandos en un momento específico.

Estos comandos o tareas programadas se conocen como “trabajos de cron”.

Cron se utiliza generalmente para ejecutar copias de seguridad programadas, supervisar el espacio en disco, eliminar archivos (por ejemplo, archivos de registro) periódicamente que ya no son necesarios, realizar tareas de mantenimiento del sistema y mucho más.

En esta breve guía, veremos el uso básico de Cron Jobs en Linux.

Guía para usar Cron Jobs

Para mostrar el contenido del archivo crontab del usuario que está conectado actualmente:

$ crontab -l

Para editar las tareas cron del usuario actual, haga lo siguiente:

$ crontab -e

Si es la primera vez, se le pedirá al editor que edite los trabajos.

no crontab for sk - using an empty one

Select an editor. To change later, run 'select-editor'.
 1. /bin/nano <---- easiest
 2. /usr/bin/vim.basic
 3. /usr/bin/vim.tiny
 4. /bin/ed

Choose 1-4 [1]:

Elija cualquiera que se adapte a usted. Aquí es cómo se ve un archivo crontab:

En este archivo, debe agregar sus trabajos cron.

Para editar el crontab de un usuario diferente, por ejemplo, cron1, haga:

$ crontab -u cron1 -e

Veamos algunos ejemplos.

Para ejecutar un trabajo cron cada minuto, el formato debería ser el siguiente.

* * * * * <comando>

Para ejecutar el trabajo cron cada 5 minutos, agregue lo siguiente en su archivo crontab.

*/5 * * * * <comando>

Para ejecutar un trabajo cron cada cuarto de hora (cada 15 minutos), agregue esto:

*/15 * * * * <comando>

Para ejecutar un trabajo cron cada hora a los 30 minutos, ejecuta:

30 * * * * <comando>

También puede definir múltiples intervalos de tiempo separados por comas. Por ejemplo, la siguiente tarea cron se ejecutará tres veces cada hora, en los minutos 0, 5 y 10:

0,5,10 * * * * <comando>

Ejecuta un trabajo cron cada media hora:

*/30 * * * * <comando>

Ejecuta un trabajo cada hora:

0 * * * * <comando>

Ejecuta un trabajo cada 2 horas:

0 */2 * * * <comando>

Ejecutar un trabajo todos los días (se ejecutará a las 00:00):

0 0 * * * <comando>

Ejecutar un trabajo todos los días a las 3 a.m:

0 3 * * * <comando>

Ejecuta un trabajo todos los domingos:

0 0 * * SUN <comando>

O,

0 0 * * 0 <comando>

Se ejecutará exactamente a las 00:00 del domingo.

Ejecutar un trabajo todos los días de la semana de lunes a viernes, es decir, todos los días laborables:

0 0 * * 1-5 <comando>

El trabajo comenzará a las 00:00.

Ejecuta un trabajo todos los meses:

0 0 1 * * <comando>

Ejecutar un trabajo a las 16:15 el día-del mes 1:

15 16 1 * * <comando>

Ejecutar un trabajo cada trimestre, es decir, el día 1 del mes en cada 3er mes:

0 0 1 */3 * <comando>

Ejecutar un trabajo en un mes específico a una hora específica:

5 0 * 4 * <comando>

El trabajo comenzará a las 00:05 en abril.

Ejecuta un trabajo cada 6 meses:

0 0 1 */6 * <comando>

Este trabajo cron comenzará a las 00:00 el día 1 del mes en cada 6º mes.

Ejecuta un trabajo todos los años:

0 0 1 1 * <comando>

Este trabajo cron comenzará a las 00:00 el día 1 del mes de enero.

También podemos usar los siguientes valores:

@rebootUna vez al iniio
@yearlyUna vez al año
@annuallyuna vez al año.
@monthlyuna vez al mes.
@weeklyuna vez a la semana.
@dailyuna vez al dia.
@midnightuna vez al día.
@hourlycada hora.

For example, to run a job every time the server is rebooted, add this line in your crontab file.

Por ejemplo, para correr un trabajo cada vez que el servidor es reiniciado, añade esta linea en tu archivo crontab.

@reboot <comando>

Para eliminar todos los trabajos cron del usuario actual:

$ crontab -r

Para más detalles visita la página man.

$ man crontab