GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo ejecutar Cron cada 5 minutos, segundos, horas, días, meses

Pregunta: ¿Cómo ejecuto cierto script de shell a intervalos específicos en Linux usando el trabajo cron? Proporcione ejemplos usando diferentes períodos de tiempo.

Respuesta: Crontab se puede utilizar para programar un trabajo que se ejecuta en determinados archivos internos. El ejemplo aquí muestra cómo ejecutar un script de shell backup.sh usando diferentes intervalos.

Además, no olvide leer nuestro artículo crontab anterior que contiene 15 ejemplos prácticos y también explica sobre @monthly, @daily, .. etiquetas que puedes usar en tu crontab.

1. Ejecutar un trabajo cron cada 5 minutos

El primer campo es para Minutos. Si especifica * en este campo, se ejecuta cada minutos. Si especifica */5 en el primer campo, se ejecuta cada 5 minutos como se muestra a continuación.

*/5 * * * * /home/ramesh/backup.sh

Nota: De la misma manera, use */10 por cada 10 minutos, */15 por cada 15 minutos, */30 por cada 30 minutos, etc.

2. Ejecutar un trabajo cron cada 5 horas

El segundo campo es para las horas. Si especifica * en este campo, se ejecuta cada hora. Si especifica */5 en el segundo campo, se ejecuta cada 5 horas como se muestra a continuación.

0 */5 * * * /home/ramesh/backup.sh

Nota: De la misma manera, use */2 por cada 2 horas, */3 por cada 3 horas, */4 por cada 4 horas, etc.

3. Ejecutar un trabajo cada 5 segundos

El trabajo cron no se puede usar para programar un trabajo en un intervalo de segundos. es decir, no puede programar un trabajo cron para que se ejecute cada 5 segundos. La alternativa es escribir un script de shell que use el comando 'sleep 5'.

Cree un script de shell cada-5-segundos.sh usando bash while loop como se muestra a continuación.

$ cat every-5-seconds.sh
#!/bin/bash
while true
do
 /home/ramesh/backup.sh
 sleep 5
done

Ahora, ejecute este script de shell en segundo plano usando nohup como se muestra a continuación. Esto seguirá ejecutando el script incluso después de cerrar la sesión. Esto ejecutará su script de shell backup.sh cada 5 segundos.

$ nohup ./every-5-seconds.sh &

4. Ejecutar un trabajo cada 5 días de la semana

Este ejemplo no se trata de programar "cada 5 días". Pero esto es para programar "cada 5 días de la semana".

El quinto campo es DOW (día de la semana). Si especifica * en este campo, se ejecuta todos los días. Para ejecutar todos los viernes, especifique el 5 de viernes en este campo.

El siguiente ejemplo ejecuta backup.sh todos los viernes a la medianoche.

0 0 * * 5 /home/ramesh/backup.sh
(or)
0 0 * * Fri /home/ramesh/backup.sh

Puede usar el número de usuario o el acrónimo de tres letras correspondiente para el día de la semana, como se muestra a continuación.

  • 0=Sol
  • 1=Lun
  • 2=martes
  • 3=miércoles
  • 4=jueves
  • 5=viernes
  • 6=Sábado

Nota: Adquiera el hábito de usar Vie en lugar de 5. Tenga en cuenta que el número comienza con 0 (no con 1) y 0 es para Sun (no Mon).

5. Ejecutar un trabajo cada 5 meses

No hay una forma directa de decir "cada 5 meses", sino que debe especificar en qué meses específicos desea ejecutar el trabajo. Probablemente desee ejecutar el trabajo el quinto mes (mayo) y el décimo mes (octubre).

El cuarto campo es para Meses. Si especifica * en este campo, se ejecuta todos los meses. Para ejecutar el mes específico, debe especificar el número que corresponde al mes. Por ejemplo, para ejecutar el trabajo en mayo y octubre, debe especificar 5,10 (o) simplemente puede usar el acrónimo de 3 letras del mes y especificar mayo, octubre.

El tercer campo es para DOM (Día del Mes). Si especifica * en este campo, se ejecuta todos los días del mes. Si especifica 1 en este mes, se ejecuta el primero del mes.

El siguiente ejemplo ejecuta backup.sh dos veces al año. es decir, el 1 de mayo a la medianoche y el 1 de octubre a la medianoche.

0 0 1 5,10 * /home/ramesh/backup.sh
(or)
0 0 1 May,Oct * /home/ramesh/backup.sh

Nota: No cometa el error de especificar 5-10 en el cuarto campo, lo que significa desde el mes 5 hasta el mes 10. Si desea solo el 5.º y el 10.º mes, debe usar una coma.


Linux
  1. Cómo ejecutar o repetir un comando de Linux cada X segundos para siempre

  2. Cómo ejecutar un trabajo cron en días específicos de la semana

  3. Cómo ejecutar un trabajo cron cada hora y 10 minutos

  4. CronJob cada 25 minutos

  5. Ejecutando Cron cada 2 horas

Cómo ejecutar trabajos cron cada 5, 10 o 15 minutos

Cómo ejecutar un comando de Linux cada X segundos para siempre

Cómo programar un trabajo en Cron para que se ejecute cada hora en Ubuntu 20.04

Cómo ejecutar un trabajo Crontab cada semana el domingo

¿Cómo puedo hacer que un trabajo cron se ejecute cada 30 minutos?

¿Cómo ejecutar el trabajo cron en una hora específica todos los días?