Como editar o arquivo Linux Crontab para agendar trabalhos

O que saber

  • Exibir o conteúdo do crontab com: crontab -l
  • Edite o crontab com: crontab -e
  • O tempo funciona com: minuto, hora, dia do mês, mês, dia da semana. Use um asterisco (*) para executar o cron todos os dias, horas, etc.

Este artigo explica como usar o cron, que é um daemon no Linux que executa processos em intervalos regulares. Ele verifica certas pastas em um sistema para scripts para rodar em uma série de pastas, incluindo /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly e /etc/cron.monthly; também existe um arquivo chamado / etc / crontab.

Colocar Scripts em Pastas Cron

Coloque os scripts nas pastas relevantes para que sejam executados em intervalos regulares. Por exemplo, abra uma janela de terminal e execute o seguinte ls comando:

ls / etc / cron *

O comando lista os programas ou scripts executados de hora em hora, diariamente, semanalmente e mensalmente.

Lista cron do Linux

Essas pastas são vagas. Por exemplo, Diário significa que o script é executado uma vez por dia, mas você não tem controle sobre o tempo em que o script é executado naquele dia.

É aí que entra o arquivo crontab. Ao editar o arquivo crontab, você executa um script ou programa na data e hora exatas em que deseja que ele seja executado.

Permissões

O comando crontab requer que um usuário tenha permissão para editar um arquivo crontab. Existem dois arquivos que gerenciam as permissões do crontab: /etc/cron.allow e /etc/cron.deny.

  • Se o arquivo /etc/cron.allow existir, o usuário que deseja editar o arquivo crontab deve estar listado nesse arquivo.
  • Se o arquivo cron.allow não existir, mas houver um arquivo /etc/cron.deny, o usuário não deve existir nesse arquivo.
  • Se ambos os arquivos existirem, o arquivo /etc/cron.allow substitui o arquivo /etc/cron.deny.
  • Se nenhum arquivo existir, depende da configuração do sistema se um usuário pode editar o crontab.

O usuário root sempre pode editar o arquivo crontab. Você pode usar o comando su para mudar para o usuário root ou o comando sudo para executar o comando crontab.

Edite o arquivo Crontab

Cada usuário com as permissões apropriadas pode criar um arquivo crontab. O comando cron procura todos os arquivos crontab e é executado em cada arquivo.

Para verificar se você tem um arquivo crontab, execute o seguinte comando:

crontab -l. 

Se você não tiver um arquivo crontab, a mensagem sem crontab para aparecer, caso contrário, seu arquivo crontab será exibido.

Esta funcionalidade difere de sistema para sistema. Às vezes, ele não exibe absolutamente nada, e outras vezes exibe Não edite esse arquivo.

Lista de crontab do Linux

Para criar ou editar um arquivo crontab, execute o seguinte comando:

crontab -e. 

O arquivo que abre contém muitas informações, mas a parte principal é o exemplo antes do final da seção de comentários (os comentários são indicados por linhas que começam com #).

Comando # m h dom mon dow. 
0 5 * * 1 tar -zcf /var/backups/home.tgz / home /
Linux editar crontab

Existem seis informações para caber em cada linha do arquivo crontab:

  • O minuto do dia em que o comando deve ser executado (m).
  • A hora do dia em que o comando deve ser executado (h).
  • O dia do mês em que o comando deve ser executado (dom).
  • O mês em que o comando deve ser executado (seg).
  • O dia da semana em que o comando deve ser executado (dow).
  • O comando.

Para cada item (exceto para o comando), você pode especificar um caractere curinga. Observe o seguinte exemplo de linha crontab:

30 18 * * * tar -zcf /var/backups/home.tgz / home /

Aos 30 minutos, 18 horas e qualquer dia, mês e dia da semana, esta entrada do crontab fecho eclair e alcatrão o diretório inicial para a pasta / var / backups.

Nos exemplos abaixo, substitua a palavra comando pelo comando que deseja executar.

Para fazer com que um comando seja executado 30 minutos após cada hora, execute o seguinte comando:

30 * * * * comando. 

Para que um comando seja executado a cada minuto após as 18h, execute o seguinte comando:

Comando * 18 * * *. 

Você, portanto, deve ter cuidado ao configurar os comandos crontab.

Por exemplo:

* * * 1 * comando. 

Este comando é executado a cada minuto de cada hora de cada dia de cada semana em janeiro.

Para executar um comando às 5h do dia 1º de janeiro, digite o seguinte comando no arquivo crontab:

0 5 1 1 * comando. 

Como remover um arquivo Crontab

Na maioria das vezes, você não vai querer remover o arquivo crontab. No entanto, você pode querer remover algumas linhas do arquivo crontab.

Para remover o arquivo crontab do usuário, execute o seguinte comando:

crontab -r. 

Uma maneira mais segura de fazer isso é executar o seguinte comando:

crontab -i. 

O sistema operacional pede verificação antes de remover o arquivo crontab.