/ data e hora / cron
Remover anúnciosMembro
Tema: SistemaContraste: Padrão

Explicador de expressões cron

Leia uma expressão cron em linguagem natural, veja as próximas execuções em qualquer fuso horário e deixe-a na forma padrão.

Exemplos de código

Copie estes exemplos para o seu próprio projeto. Cada um usa apenas a biblioteca padrão da linguagem, por isso não há nada para instalar.

Marque até 3 linguagens com uma estrela para as ver primeiro em todas as páginas de ferramentas.

Marcar JavaScript como favorita
const expand = (field, min, max) =>
  field.split(',').flatMap((part) => {
    const [range, step = '1'] = part.split('/')
    const [from, to = from] = range === '*' ? [min, max] : range.split('-').map(Number)
    return Array.from({ length: Math.floor((to - from) / Number(step)) + 1 }, (_, i) => from + i * Number(step))
  })

function matches(expression, instant) {
  const [minute, hour, dayOfMonth, month, dayOfWeek] = expression.split(' ')

  const inMonth = expand(dayOfMonth, 1, 31).includes(instant.getUTCDate())
  const inWeek = expand(dayOfWeek, 0, 7).some((day) => day % 7 === instant.getUTCDay())
  const dayMatches =
    !dayOfMonth.startsWith('*') && !dayOfWeek.startsWith('*') ? inMonth || inWeek : inMonth && inWeek

  return (
    expand(minute, 0, 59).includes(instant.getUTCMinutes()) &&
    expand(hour, 0, 23).includes(instant.getUTCHours()) &&
    expand(month, 1, 12).includes(instant.getUTCMonth() + 1) &&
    dayMatches
  )
}

console.log(matches('*/15 9-17 * * 1-5', new Date('2023-11-14T09:30:00Z')))

O que faz

Leia uma expressão cron em linguagem natural, veja quando ela roda em qualquer fuso horário e deixe-a na forma canônica. Funciona com o cron padrão de cinco campos e com o dialeto Quartz ou Spring, que tem segundos. Tudo é calculado no seu navegador.

Como usar

  1. Digite ou cole uma expressão, como */15 9-17 * * MON-FRI. Atalhos como @daily e @hourly são entendidos. O campo onde está o cursor é destacado e explicado abaixo.
  2. Escolha o dialeto: Padrão (5 campos) ou Quartz / Spring (seis ou sete, começando pelos segundos).
  3. Escolha o fuso horário para ler o agendamento e quantas execuções futuras listar.
  4. Leia a descrição em palavras acima do campo, com os próximos horários de execução abaixo. Os avisos apontam sintaxe que nem todo cron entende.
  5. Use Aleatória ou uma agenda comum como ponto de partida, ou mude para Várias linhas para conferir uma expressão por linha.

Exemplos

@daily                  →  0 0 * * *
*/15 9-17 * * MON-FRI   →  A cada 15 minutos, entre 09:00 e 17:59, de segunda a sexta-feira

Uma expressão Quartz para o meio-dia da segunda segunda-feira de cada mês:

0 0 12 ? * MON#2

Bom saber

  • Os cinco campos são minuto, hora, dia do mês, mês e dia da semana.
  • O cron padrão conta o domingo como 0. Quartz e Spring contam como 1 e exigem um ? no campo do dia do mês ou do dia da semana.
  • O cron roda pelo relógio da máquina ou do agendador onde ele vive, então escolha esse fuso horário, muitas vezes UTC.
  • Os L, W e # do Quartz (último dia, dia útil mais próximo, enésimo dia da semana) são suportados.
  • Um campo que não pode ser lido fica vermelho, e a mensagem o nomeia.
  • Com um dia do mês e um dia da semana ao mesmo tempo, a tarefa roda quando qualquer um dos dois coincide, não só quando os dois coincidem. @reboot não tem agenda para listar, e 7 como domingo ou os caracteres do Quartz ?, L, W e # no cron padrão são sinalizados.

O que é uma expressão cron?

Uma expressão cron diz quando uma tarefa deve rodar, em cinco campos: minuto, hora, dia do mês, mês e dia da semana. * significa todos os valores, */15 a cada 15, 1-5 um intervalo e 1,15 uma lista. Quartz e Spring adicionam um campo de segundos na frente, às vezes um ano no fim, e aceitam extras como L, W e #.

Perguntas frequentes

Que fuso horário as execuções usam?

O que você escolher. O cron segue o relógio da máquina ou do agendador onde roda: escolha esse fuso, muitas vezes UTC, para ver os horários reais.

Qual a diferença entre padrão e Quartz?

O cron padrão tem cinco campos e conta o domingo como 0. Quartz e Spring têm seis ou sete, começam por segundos, contam o domingo como 1 e exigem um ? no campo de dia do mês ou de dia da semana.

Esta ferramenta envia minhas expressões para algum lugar?

Não. A explicação e os horários de execução são calculados no seu navegador. O que você digita nunca é enviado aos nossos servidores.

Alterações desta ferramenta

Atalhos de teclado

Fechar

Em todo o lado

Pesquisar ferramentas e ações
Ctrl K
Mostrar esta ajuda
?
Mudar de tema
Ctrl Shift L
Fixar a ferramenta selecionada (na pesquisa)
Ctrl P

Numa ferramenta

Enviar o resultado para a primeira sugestão
Ctrl ↵
Abrir um ficheiro na entrada
Ctrl O
Copiar o resultado
Ctrl Shift C
Fechar buscaesc
ferramentasCodificador e decodificador de Base64Codifique texto em Base64 ou decodifique Base64 de volta para texto, com alfabetos padrão e seguro para URL.CodificaçãoFormatador e validador de JSONFormate, minifique e valide JSON, com a linha e a coluna exatas de qualquer erro.FormataçãoTestador de regexTeste expressões regulares JavaScript com destaque em tempo real, grupos de captura e uma explicação em linguagem simples.TextoGerador de UUID e ULIDGere UUID v4, UUID v7 e ULID em massa, ou cole um identificador para ver a versão, a variante e o carimbo de data/hora.GeradoresConversor de timestamp UnixConverta timestamps Unix em datas e vice-versa, em qualquer fuso horário, com ISO 8601, RFC 2822 e tempo relativo.Data e horaGerador de hash e HMACCalcule hashes MD5, SHA-1, SHA-2, SHA-3, BLAKE2, BLAKE3 e CRC-32 de um texto ou arquivo, com HMAC opcional.SegurançaGerador de senhas e verificador de forçaGere senhas, frases-senha e PINs aleatórios, ou verifique a força de uma senha.SegurançaDecodificador e verificador de JWTDecodifique um JSON Web Token, confira a expiração e os claims e verifique a assinatura com um segredo ou chave pública.SegurançaCalculadora CIDR e de sub-redes IPCalcule o intervalo, a máscara e o tamanho de redes IPv4 e IPv6, divida-as em sub-redes e verifique o que contém ou se sobrepõe a quê.RedeExplicador de expressões cronLeia uma expressão cron em linguagem natural, veja as próximas execuções em qualquer fuso horário e deixe-a na forma padrão.Data e horaOrdenar linhasOrdene linhas de texto de A a Z ou de Z a A, em ordem natural (file2 antes de file10), por ponto de código, por número ou por comprimento.TextoRemover linhas duplicadasRemova linhas duplicadas de uma lista, mantenha a primeira ou a última cópia, ignore maiúsculas ou espaços, ou tire toda linha repetida.TextoComparar listas e textoCompare duas listas linha a linha: encontre o que está em ambas, só em uma ou em qualquer uma, ou veja um diff de linhas marcado lado a lado.TextoConverter maiúsculas e criar slugConverta texto para camelCase, snake_case, kebab-case, Title Case e mais, ou transforme um título em slug de URL com tratamento de acentos.TextoCodificar, decodificar e analisar URLCodifique e decodifique texto com porcentagem para URLs, ou decomponha uma URL em esquema, host, caminho e consulta e edite a consulta como tabela.CodificaçãoValidadores: IBAN, BSN, IVA, cartão, ISBNVerifique um IBAN, BSN neerlandês, número de cartão, número de IVA da UE, e-mail, URL ou ISBN, com o motivo se falhar. Um valor por linha.ValidaçãoCodificar e decodificar entidades HTMLEscape texto para HTML com entidades nomeadas, decimais ou hexadecimais, ou converta entidades como & e é de volta em caracteres.CodificaçãoEscapar e desescapar stringsEscape texto para uma string JSON ou JavaScript, uma string SQL, um campo CSV, uma expressão regular ou uma palavra de shell, ou desfaça o escape.CodificaçãoDígitos de controlo EAN, UPC e GTINVerifique o dígito de controlo de um EAN-8, EAN-13, UPC-A ou GTIN-14, acrescente o que falta, leia o país do prefixo GS1 e converta entre ISBN-10 e EAN-13. Um código por linha.ValidaçãoGerador de dados de testeGere em massa IBAN, BSN, códigos EAN e números de IVA europeus de teste. Passam nas verificações, mas não pertencem a ninguém.GeradoresFormatador e minificador de SQLFormate SQL com cada cláusula em sua linha, ou minifique em uma só linha, para MySQL, PostgreSQL, SQLite, SQL Server e BigQuery.FormataçãoConversor de base numéricaConverta números entre binário, octal, decimal, hexadecimal e qualquer base de 2 a 36, com números grandes, complemento de dois e vista de bits.CodificaçãoConversor de YAML, TOML e JSONConverta entre JSON, YAML e TOML, ou valide e formate um documento, com a linha e a coluna de cada erro.FormataçãoConversor de CSV e JSONConverte CSV num array JSON de objetos ou arrays, ou JSON de volta para CSV. Deteta o separador e lê ficheiros Excel com ponto e vírgula e vírgula decimal.DadosTestador de glob e .gitignoreTeste padrões glob e regras .gitignore numa lista de caminhos e veja quais caminhos correspondem e que regra o fez.TextoConversor de coresConverta uma cor entre HEX, RGB, HSL, HWB e OKLCH, verifique o contraste WCAG com um fundo ou crie uma paleta tonal Material 3 a partir dela.FormataçãoCalculadora chmodConverta permissões de arquivos Unix entre octal (755), letras (rwxr-xr-x), ls -l e cláusulas chmod, com uma grade de caixas de seleção e os bits setuid, setgid e sticky.SegurançaAnalisador de user-agentLeia uma string user-agent: navegador, motor, sistema, tipo de dispositivo e se é um bot. Deixe vazio para ler o seu próprio navegador.RedeConverter cURL em códigoCole um comando cURL e receba a mesma requisição em fetch, Axios, Python requests, Go ou PHP. Nada é executado e nada é enviado.RedePré-visualização de MarkdownEscreva Markdown e veja-o renderizado enquanto digita, ou copie o HTML. O HTML bruto é mostrado como texto e os links são verificados, por isso nada na pré-visualização pode ser executado.FormataçãoGerador de códigos de barras e QRCrie um QR code, EAN-13, UPC-A, Code 128, ITF-14 ou Data Matrix, baixe como SVG ou PNG, ou leia um código de uma imagem.GeradorespáginasNovidadesO que mudou em cada versãopáginasSobreO que é o codeknife.dev e quem o fazpáginasIdeiasSugira melhorias e vote nas ideias de outros visitantes.páginasPrivacidadeO que sai do navegador e o que é guardadopáginasAcessibilidadeConformidade, limitações conhecidas e como reportar um problemapáginasAssinaturaRemova os anúncios e aumente os limitespáginasações