Expresión cron: cada 30 minutos

*/30 * * * * se ejecuta cada 30 minutos. Aquí tienes qué significa cada campo, cuándo se ejecuta la próxima vez y cómo usarlo en crontab, GitHub Actions, Kubernetes y Node.js.

Actualizado el

*/30 * * * *
Expresión cron
Cada 30 minutos
Programación

Abrir en el Generador de expresiones cron →

Qué significa */30 * * * *

Cron lee cinco campos de izquierda a derecha: minuto, hora, día del mes, mes y día de la semana. Para cada 30 minutos son:

CampoValorSignificadoValores permitidos
Minuto*/30cada 30 minutos0–59
Hora*cada hora0–23
Día del mes*cada día del mes1–31
Mes*cada mes1–12
Día de la semana*cada día de la semana0–6 (dom–sáb)

Próximas ejecuciones

Calculado en tu navegador para tu zona horaria. En un servidor, cron usa la zona horaria del servidor (a menudo UTC).

  1. Activa JavaScript para ver las próximas ejecuciones.

Usos habituales

  • Hacer copias de seguridad incrementales de una base de datos muy usada
  • Recalcular paneles
  • Comprobar la caducidad de SSL y del dominio

Conviene saber

Se ejecuta a :00 y :30. Usa 15,45 * * * * para desplazarla respecto a otros trabajos que también se ejecutan cada media hora.

Úsalo en crontab, GitHub Actions, Kubernetes y Node.js

crontab (crontab -e):

*/30 * * * * /usr/local/bin/my-job.sh >> /var/log/my-job.log 2>&1

GitHub Actions (las horas son UTC):

on:
  schedule:
    - cron: '*/30 * * * *'

Kubernetes CronJob:

apiVersion: batch/v1
kind: CronJob
metadata:
  name: my-job
spec:
  schedule: "*/30 * * * *"
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      template:
        spec:
          restartPolicy: OnFailure
          containers:
            - name: my-job
              image: alpine:3
              command: ["sh", "-c", "echo running"]

Node.js (node-cron):

import cron from 'node-cron';
cron.schedule('*/30 * * * *', () => {
  // your job
});

Programaciones relacionadas

Preguntas frecuentes

¿Cuál es la expresión cron para cada 30 minutos?
*/30 * * * *. Se ejecuta cada 30 minutos.
¿Qué zona horaria usa cron?
El cron clásico usa la zona horaria local del servidor, y muchos servidores funcionan en UTC. GitHub Actions usa siempre UTC. Los CronJobs de Kubernetes usan la zona horaria del controlador, a menos que definas spec.timeZone (por ejemplo Europe/Berlin).
¿Cómo pruebo una expresión cron?
Pégala en el Generador de expresiones cron para verla en lenguaje natural con las próximas ejecuciones y, después, revisa el log de tu tarea tras la primera ejecución programada.