Expresión cron: cada 30 segundos

El cron estándar ejecuta como máximo una vez por minuto. Aquí tienes cómo conseguir igualmente un intervalo de 30 segundos.

Actualizado el

* * * * *
Expresión cron
No es posible con una sola línea de cron: ver abajo
Programación

Abrir en el Generador de expresiones cron →

Qué significa * * * * *

Cron lee cinco campos de izquierda a derecha: minuto, hora, día del mes, mes y día de la semana. Esta página muestra la expresión estándar más cercana (cada minuto) y cómo conseguir un intervalo de 30 segundos.

CampoValorSignificadoPermitido
Minuto*cada minuto0–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

  • Sondeo muy frecuente

Conviene saber

El cron estándar no puede bajar de un minuto. Ejecuta un trabajo cada minuto que se lance dos veces: * * * * * /job.sh; sleep 30; /job.sh, o usa un temporizador de systemd (OnCalendar=*:*:0/30) o un proceso worker de larga duración.

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

crontab (crontab -e):

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

GitHub Actions (las horas son UTC): GitHub Actions ejecuta las programaciones como máximo cada 5 minutos, así que aquí esta se limitaría.

on:
  schedule:
    - cron: '* * * * *'

Kubernetes CronJob:

apiVersion: batch/v1
kind: CronJob
metadata:
  name: my-job
spec:
  schedule: "* * * * *"
  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('* * * * *', () => {
  // your job
});

Programaciones relacionadas

Preguntas frecuentes

¿Cuál es la expresión cron para cada 30 segundos?
El cron estándar no puede ejecutarse más de una vez por minuto. Usa * * * * * con una pausa de 30 segundos (sleep), un temporizador de systemd o un proceso worker. El cron estándar no puede bajar de un minuto. Ejecuta un trabajo cada minuto que se lance dos veces: * * * * * /job.sh; sleep 30; /job.sh, o usa un temporizador de systemd (OnCalendar=*:*:0/30) o un proceso worker de larga duración.
¿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 de la primera ejecución programada, revisa el log de tu trabajo.