Como Criar e Gerenciar Cron Jobs no Linux

O Cron é uma das ferramentas mais úteis do Linux e favorita dos desenvolvedores, pois permite executar comandos automatizados em períodos específicos, datas e intervalos usando scripts de uso geral e específicos de tarefas. Dada essa descrição, você pode imaginar como os administradores de sistema o utilizam para automatizar tarefas de backup, limpeza de diretórios, notificações, etc.

As tarefas do Cron são executadas em segundo plano e verificam constantemente o arquivo /etc/crontab, e os diretórios /etc/cron.*/ e /var/spool/cron/. Os arquivos do cron não devem ser editados diretamente e cada usuário possui um crontab exclusivo.

Então, como você deve criar e editar tarefas do cron? Com os comandos crontab. O crontab é o método que você usa para criar, editar, instalar, desinstalar e listar tarefas do cron.

O comando para criar e editar tarefas do cron é o mesmo e simples. E o que é ainda melhor é que você não precisa reiniciar o cron após criar novos arquivos ou editar os existentes.

$ crontab -e

Sintaxe do Cron

Assim como acontece com qualquer linguagem, trabalhar com cron é muito mais fácil quando se entende sua sintaxe e existem 2 formatos que você deve conhecer:

A B C D E USERNAME /path/to/command arg1 arg2
OR
A B C D E USERNAME /root/backup.sh

Explicação da sintaxe do cron acima:

  • A: Minutes range: 0 – 59
  • B: Hours range: 0 – 23
  • C: Days range: 0 – 31
  • D: Months range: 0 – 12
  • E: Days of the week range: 0 – 7. Starting from Monday, 0 or 7 represents Sunday
  • NOME DE USUÁRIO: substitua isso pelo seu nome de usuário
  • /caminho/para/comando – O nome do script ou comando que você deseja agendar

Isso não é tudo. O Cron usa 3 símbolos de operador que permitem que você especifique múltiplos valores em um campo:

  1. Asterisco (*): especifica todos os valores possíveis para um campo
  2. A vírgula (,): especifica uma lista de valores
  3. Travessão (-): especifica um intervalo de valores
  4. Separador (/): especifica um valor de passo

Agora que você conhece a sintaxe e os operadores do Cron, vamos ver alguns exemplos de cron.

Exemplos de Tarefas Cron

O primeiro passo para executar comandos cron é instalar seu crontab com o comando:

# crontab -e

Execute /root/backup.sh às 3 da manhã todos os dias:

0 3 * * * /root/backup.sh

Execute script.sh às 4:30 da tarde no segundo dia de todo mês:

30 16 2 * * /path/to/script.sh

Execute /scripts/phpscript.php às 10 da noite durante a semana:

0 22 * * 1-5 /scripts/phpscript.php

Execute perlscript.pl às 23 minutos após meia-noite, às 2h e às 4h, todos os dias:

23 0-23/2 * * * /path/to/perlscript.pl

Execute o comando Linux às 04:05 todo domingo:

5 4 * * sun /path/to/linuxcommand

Opções do Cron

Listar tarefas cron.

# crontab -l
OR
# crontab -u username -l

Excluir todos os trabalhos do crontab.

# crontab -r

Excluir o trabalho Cron para um usuário específico.

# crontab -r -u username

Strings no Crontab

Strings estão entre as coisas favoritas do desenvolvedor porque ajudam a economizar tempo eliminando a escrita repetitiva. Cron possui strings específicas que você pode usar para criar comandos mais rapidamente:

  1. @hourly: Executar uma vez a cada hora, ou seja, “0 * * * *
  2. @midnight: Executar uma vez por dia, ou seja, “0 0 * * *
  3. @daily: mesmo que meia-noite
  4. @weekly: Executar uma vez por semana, ou seja, “0 0 * * 0
  5. @monthly: Executar uma vez por mês, ou seja, “0 0 1 * *
  6. @annually: Executar uma vez por ano, ou seja, “0 0 1 1 *
  7. @yearly: mesmo que @annually
  8. @reboot: Executar uma vez a cada inicialização

Por exemplo, assim é como fazer backup do seu sistema todos os dias:

@daily /path/to/backup/script.sh

Neste ponto, você tem tudo o que precisa para criar e gerenciar tarefas do sistema usando Cron. Agora você pode começar a configurar e manter vários ambientes usando comandos agendados.

Quão familiarizado você é com o Cron? E há algum detalhe que você possa contribuir para o artigo? A caixa de discussão está abaixo.

Quando você entender o suficiente sobre como o Crontab funciona, você pode usar essas práticas utilidades geradoras de Crontab para gerar linhas de crontab gratuitamente.

Também, você pode ler o artigo da Ubuntu sobre como usar o Cron aqui. Ele tem recursos que podem ser úteis.

Source:
https://www.tecmint.com/create-and-manage-cron-jobs-on-linux/