2
respostas

Linux: entender o cron ???

Sei que estão confusos. Também fiquei!
O cron é uma ferramenta essencial para agendar tarefas no Linux, mas sua sintaxe pode causar confusão, especialmente ao definir intervalos de tempo. Compreender como usar valores e operadores corretamente é crucial para configurar suas tarefas de forma eficiente.
Vamos detalhar como funcionam os campos do cron, usando números e intervalos, para que você entenda as diferenças e evite erros comuns.
A sintaxe do cron é composta por cinco campos, cada um representando uma unidade de tempo:

* * * * * comando
| | | | |
| | | | +---- Dia da semana (0 - 7) (0 ou 7 para domingo)
| | | +------ Mês (1 - 12)
| | +-------- Dia do mês (1 - 31)
| +---------- Hora (0 - 23)
+------------ Minuto (0 - 59)

Cada campo pode ser preenchido com valores específicos ou operadores para definir com precisão quando o cron deve executar a tarefa.
Usando Números no Cron:

  • Minuto 30: Esse cron agendará a tarefa para ser executada no minuto 30 de cada hora.
  • Exemplo de execução: 00:30, 01:30, 02:30, 03:30, etc.
  • Minuto 15, hora 9: Esse cron executa a tarefa às 9:15 da manhã, todos os dias.
  • Exemplo de execução: 09:15, 09:15, 09:15, etc.
  • Minuto 0, hora 5, dia 1: Executa a tarefa à 5:00 no primeiro dia de cada mês.
  • Exemplo de execução: 01/01 05:00, 01/02 05:00, 01/03 05:00, etc.

Usando Operadores no Cron
O cron permite o uso de operadores como *, */, ,, - e até mesmo L e W em alguns casos.
Aqui estão algumas maneiras de usá-los com qualquer número:

  • A cada 5 minutos: O operador */5 significa que a tarefa será executada a cada 5 minutos.
  • Exemplo de execução: 00:05, 00:10, 00:15, 00:20, etc.
  • A cada hora entre meia-noite e 6 da manhã: O intervalo 0-6 no campo de horas significa que a tarefa será executada de hora em hora, entre as 00:00 e as 06:00.
  • Exemplo de execução: 00:00, 01:00, 02:00, 03:00, 04:00, 05:00, 06:00.
  • Às 9:00 e 15:00 todos os dias: Usando ,, você pode agendar a tarefa para ser executada em vários horários. Neste exemplo, a tarefa será executada às 9:00 e às 15:00 todos os dias.
  • Exemplo de execução: 09:00, 15:00.
  • À meia-noite, nos primeiros 7 dias de cada mês: O 1-7 indica que a tarefa será executada no início de cada mês, de 1 a 7 de cada mês, à meia-noite.
  • Exemplo de execução: 01/01 00:00, 02/01 00:00, 03/01 00:00, etc.
    O * (asterisco) em qualquer campo do cron representa qualquer valor possível para esse campo.
    Por exemplo:
  • * * * * * comando: Executa a tarefa a cada minuto, todos os dias, de todas as horas, em qualquer dia do mês e em qualquer mês.
  • */10 * * * * comando: Executa a tarefa a cada 10 minutos.

Algumas versões do cron oferecem mais flexibilidade com os sufixos L (último) e W (dia útil). Veja como usá-los:

  • 0 0 1W * * comando: Executa a tarefa no primeiro dia útil de cada mês.
  • L 5 * * * comando: Executa a tarefa no último dia útil de cada mês (em versões do cron que suportam o sufixo L).

Compreender a sintaxe do cron e como usar números e operadores corretamente é essencial para garantir que suas tarefas sejam executadas no momento certo. Se você usar um número específico (como 15 ou 30), estará agendando a tarefa para um momento exato. Usar intervalos como */5 ou 0-6 permite agendar a execução com mais flexibilidade.
O importante é entender o significado de cada campo e operador para evitar agendamentos indesejados.
Ficamos um pouco menos confusos e sem surpresas por enquanto.
Na duvida é sempre bom perguntar.
Vamos em frente.
Até...

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
2 respostas

Oi Ronaldo, tudo bem?

Agradeço por compartilhar esta explicação tão detalhada e bem estruturada sobre o cron. A sua iniciativa de detalhar a sintaxe e os operadores com exemplos práticos é fantástica e, com certeza, vai ajudar muitos colegas a entenderem melhor o agendamento de tarefas no Linux.

Contribuições como a sua são muito valiosas para a comunidade, pois enriquecem o aprendizado de todas as pessoas. É excelente ver essa troca de conhecimento.

Continue com o ótimo trabalho e compartilhando suas descobertas.

Bons estudos!

Conteúdos relacionados
Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Oi Lorena.
Seu empenho e dedicação são minha inspiração.
Bons estudos.