Pesquisa de site

Como criar e gerenciar tarefas Cron no Linux


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

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

Como então você deve criar e editar cron jobs? Com comandos crontab. O crontab é o método que você usa para criar, editar, instalar, desinstalar e listar tarefas cron.

O comando para criar e editar cron jobs é o mesmo e simples. E o que é ainda mais legal é que você não precisa reiniciar o cron depois de criar novos arquivos ou editar os existentes.


crontab -e

Sintaxe Cron

Assim como acontece com qualquer linguagem, trabalhar com cron é muito mais fácil quando você entende sua sintaxe e há 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: Intervalo de minutos: 0 – 59
  • B: Faixa de horas: 0 – 23
  • Intervalo C: Dias: 0 – 31
  • D: Meses intervalo: 0 – 12
  • E: intervalo de dias da semana: 0 – 7. A partir de segunda-feira, 0 ou 7 representa domingo
  • NOME DE USUÁRIO: substitua pelo seu nome de usuário
  • /path/to/command – O nome do script ou comando que você deseja agendar

Isso não é tudo. Cron usa 3 símbolos de operador que permitem especificar vários 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. Traç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 3h todos os dias:


0 3 * * * /root/backup.sh

Execute script.sh às 16h30 no segundo dia de cada mês:

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

Execute /scripts/phpscript.php às 22h durante a semana:

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

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

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

Execute o comando Linux às 04:05 todos os domingos:

5 4 * * sun /path/to/linuxcommand

Opções do Cron

Listar tarefas cron.


crontab -l
OR
crontab -u username -l

Exclua todos os trabalhos crontab.

crontab -r

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


crontab -r -u username

Cordas no Crontab

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

  1. @hourly: Executa uma vez a cada hora, ou seja, “0 * * * *
  2. @midnight: Execute uma vez por dia, ou seja, “0 0 * * *
  3. @diariamente: igual à meia-noite
  4. @weekly: Execute uma vez por semana, ou seja, “0 0 * * 0
  5. @monthly: executado uma vez por mês, ou seja, “0 0 1 * *
  6. @anualmente: executado uma vez por ano, ou seja, “0 0 1 1 *
  7. @anual: o mesmo que @anualmente
  8. @reboot: Executa uma vez a cada inicialização

Por exemplo, é assim que você faz 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 o Cron. Agora você pode começar a configurar e manter vários ambientes usando comandos agendados.

Quanto você é usuário do Cron? E há algum detalhe com o qual 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 esses utilitários geradores de Crontab para gerar linhas de crontab gratuitamente.

Além disso, você pode ler o artigo do Ubuntu sobre como usar o Cron aqui. Possui recursos que você pode achar úteis.