Expressão Cron - Cronograma avançado

No Mentor Agendador, é possível cadastrar processos agendados que podem ser executados a partir de um cronograma avançado. Para configurar um cronograma avançado, deve-se utilizar uma Expressão Cron.

Aba Agendamento -  Expressão CRON
Cron ou trabalho cron é um utilitário padrão usado para executar comandos ou scripts programados. O Cron é normalmente utilizado para agendar tarefas repetitivas em uma data específica ou em intervalos de tempo fixos, como por exemplo: execução de rotinas no sistema, envio de e-mails, entre outros.

Nessa expressão, pode-se definir diversos tipos de cronograma, como por exemplo: “executar o processo a cada 30 minutos a partir de uma determinada hora em determinados dias da semana”.

Abaixo, segue uma explicação básica de como funciona a expressão cron:

Uma expressão cron é uma sequência especial de caracteres, composta por 5 campos separados por um espaço em branco:

minuto | hora | dia (mês) | mês | dia (semana)

Os campos podem conter qualquer um dos valores permitidos, junto com várias combinações dos caracteres especiais permitidos para aquele campo. Veja os campos abaixo e suas combinações:

Nome do campo Obrigatório Valores permitidos Caracteres especiais permitidos
Minutos Sim 0 - 59 (minutos dentro de uma hora) , - * /
Horas Sim 0 - 23 (horas do dia) , - * /
DM - Dia do mês Sim 1 - 31 (dia do mês) , - * ? / L W
Mês Sim 1 - 12 (mês de JAN-DEZ) , - * /
DS - Dia da semana Sim 1 - 7 (dia da semana: 1 é Domingo e 7 é Sábado) , - * ? / L #


Abaixo, segue um exemplo de expressão cron, que pode ser gerado pelo site Gerador de expressão cron:

Gerador de Expressão Cron
Para especificar múltiplos valores para um campo, os seguintes operadores estão disponíveis, em ordem de precedência:

Caractere especial Descrição dos caracteres
* (todos os valores) O asterisco é utilizado para selecionar todos os valores em um campo. Por exemplo: “*” no campo Minuto significa “a cada minuto”.
? (valor não especificado) Útil quando você precisa especificar algo em um dos dois campos em que o caractere é permitido, mas não no outro. Por exemplo: se eu quiser que meu gatilho dispare em um determinado dia do mês (digamos, o dia 10), mas não me importo que dia da semana seja, eu colocaria “10” no dia campo Dia do mês e “?” no campo Dia da semana.
- O hífen é utilizado para especificar intervalos. Por exemplo: “10-12” no campo Hora significa “as horas 10, 11 e 12”.
, A vírgula é utilizada para especificar valores adicionais. Por exemplo: “SEG,QUA,SEX” no campo Dia da semana significa “os dias segunda, quarta e sexta”.
/ A barra é utilizada para especificar incrementos. Por exemplo: “0/15” no campo Segundos significa “a cada 15 segundos, ou seja, os segundos 0, 15, 30 e 45”. E “5/15” no campo Segundos significa “os segundos 5, 20, 35 e 50”. Você também pode especificar “/” após o caractere “-”, neste caso, é equivalente a ter “0” antes de “/”. “1/3” no campo Dia do mês significa “disparar a cada 3 dias, começando no primeiro dia do mês”.
L - last (último) O L tem um significado diferente em cada um dos dois campos em que é permitido. Por exemplo: o valor “L” no campo Dia do mês significa “o último dia do mês” - dia 31 para janeiro, dia 28 para fevereiro em anos não bissextos. Se usado apenas no campo Dia da semana, significa simplesmente “7” ou “SÁB”. Mas se usado no campo Dia da semana após outro valor, significa “o último xxx dia do mês” - por exemplo, “6L” significa “a última sexta-feira do mês”. Você também pode especificar um deslocamento do último dia do mês, como “L-3”, que significaria o terceiro ao último dia do mês civil. Ao usar a opção “L”, é importante não especificar listas ou intervalos de valores, pois você obterá resultados confusos/inesperados.
W - weekday (dia da semana) usado para especificar o dia da semana (segunda a sexta) mais próximo de um determinado dia. Por exemplo: se você especificasse “15W” como o valor para o campo Dia do mês, o significado seria: “o dia da semana mais próximo ao 15º dia do mês”. Portanto, se o dia 15 for um sábado, o gatilho será acionado na sexta-feira, dia 14. Se o dia 15 for um domingo, o gatilho será disparado na segunda-feira, dia 16. Se o dia 15 for uma terça-feira, ele será disparado na terça-feira, dia 15. No entanto, se você especificar “1W” como o valor para o dia do mês e o 1º for um sábado, o acionador será acionado na segunda-feira, dia 3, pois não vai “pular” além do limite dos dias do mês. O caractere “W” só pode ser especificado quando o dia do mês é um único dia, não um intervalo ou lista de dias.
# A cerquilha (ou jogo da velha) é utilizada para especificar “o xxx” dia do mês. Por exemplo, o valor de “6#3” no campo Dia da semana significa “a terceira sexta-feira do mês” (dia 6 = sexta e “#3” = a 3ª no mês). Outros exemplos: “2#1” = a primeira segunda-feira do mês e “4#5” = a 5ª quarta-feira do mês. Observe que se você especificar “#5” e não houver 5 dias da semana no mês, então nenhum disparo ocorrerá naquele mês.



Se você preferir retire suas dúvidas com os nosso suporte, clique aqui e abra um chamado para atendimento. :-)