DevToolPal
PT

Expressão cron

A cada 15 minutos no horário comercial

Roda a cada 15 minutos entre 09:00 e 17:45 em dias úteis.

*/15 9-17 * * 1-5 Abrir no analisador de expressões cron

Campo a campo

Campo Valor Corresponde a
Minuto */15 0, 15, 30, 45
Hora 9-17 9, 10, 11, 12, …, 17
Dia do mês * Qualquer valor
Mês * Qualquer valor
Dia da semana 1-5 segunda-feira terça-feira quarta-feira quinta-feira sexta-feira

Próximas execuções

Exemplo: as primeiras 6 execuções após 1 de janeiro de 2026 (UTC).

  1. qui., 1 de jan. de 2026, 09:00
  2. qui., 1 de jan. de 2026, 09:15
  3. qui., 1 de jan. de 2026, 09:30
  4. qui., 1 de jan. de 2026, 09:45
  5. qui., 1 de jan. de 2026, 10:00
  6. qui., 1 de jan. de 2026, 10:15

Versões prontas para usar

crontab
*/15 9-17 * * 1-5 /path/to/command

Adicione a linha com crontab -e. Ela roda no fuso horário do servidor, a menos que CRON_TZ ou TZ esteja definido.

Kubernetes CronJob
apiVersion: batch/v1
kind: CronJob
metadata:
  name: every-15-minutes-during-business-hours
spec:
  schedule: "*/15 9-17 * * 1-5"
  timeZone: "Etc/UTC"
  concurrencyPolicy: Forbid
  jobTemplate:
    spec:
      template:
        spec:
          restartPolicy: OnFailure
          containers:
            - name: job
              image: busybox:1.36
              command: ["/bin/sh", "-c", "date; echo run"]

Defina spec.timeZone (Kubernetes 1.27+); sem ele, o agendamento segue o fuso do controller manager, normalmente UTC.

GitHub Actions
on:
  schedule:
    - cron: '*/15 9-17 * * 1-5'
  workflow_dispatch:

O GitHub Actions sempre usa UTC, aceita intervalos de 5 minutos ou mais e pode atrasar execuções agendadas sob carga.

Quartz
0 */15 9-17 ? * MON-FRI

O Quartz coloca os segundos primeiro e exige ? no dia do mês ou no dia da semana. Os dias vão de 1 a 7 começando no domingo, então nomes são mais seguros.

Spring
@Scheduled(cron = "0 */15 9-17 * * MON-FRI")

O Spring @Scheduled(cron = …) usa seis campos: segundos e depois os cinco de sempre.

Perguntas frequentes

› Como parar exatamente às 17:00?

O cron não termina no meio de uma hora com uma linha só. Use */15 9-16 * * 1-5 e uma segunda linha 0 17 * * 1-5.

› Em qual fuso horário */15 9-17 * * 1-5 é executado?

O cron usa o fuso horário da máquina ou do serviço que o executa. No Linux é o fuso do sistema, a menos que CRON_TZ ou TZ esteja definido; CronJobs do Kubernetes aceitam spec.timeZone; o GitHub Actions sempre usa UTC.

› Como verificar este agendamento antes de publicar?

Abra */15 9-17 * * 1-5 no analisador de expressões cron deste site. Ele explica cada campo e lista as próximas execuções no seu horário local ou em UTC, tudo no navegador.