Crontab – Aprenda a agendar tarefas

Crontab – Aprenda a agendar tarefas

Com o Cron você consegue programar tarefas que serão realizadas nos dias e horários que você definir, com isso você não precisa manualmente realizar uma ação que necessita ser periódica. Por exemplo, todo dia você precisa rotacionar o log X, antes você batia o ponto e ia rotacionar o log, não é? Aprendendo com este post o uso do Cron você poderá MANDAR que esta tarefa seja executada nos dias e horários que definir.

Indiferente do propósito que possua, o agendador de tarefas Cron vai te ajudar. E para configurar as tarefas, usaremos o comando “crontab”. O Cron usa o crontab para armazenar as tarefas que serão executadas e este arquivo geralmente fica localizado no diretório /etc, mas também pode estar em um diretório que cria um crontab para cada usuário do sistema (comumente em /var/spool/cron/).

Diferença entre CRON e CRONTAB

Com certeza você que está lendo este post e utilliza/ utilizou o agendador de tarefas Cron já se perguntou: “Mas qual a diferença entre Cron e Crontab?”. Eu te respondo isso hoje e você compartilha o post com seus amigos, combinado?
Cron = cron é o nome geral do serviço que executa ações programadas
Crontab = crontab é um arquivo que contém as execuções no formato de tabela

Detalhando o uso do CRONTAB

Existe um padrão de criação de tarefas no Cron, que é:

[minutos] [horas] [dia do mês] [mês] [dia da semana] [usuário] [comando]

O preenchimento de cada campo é feito da seguinte maneira:

Minutos: preencha em formato numérico de 0 a 59; Horas: preencha em formato numérico de 0 a 23; Dia do mês: preencha em formato numérico de 0 a 31; Mês: preencha em formato numérico de 1 a 12; Dia da semana: preencha em formato numérico de 0 a 7 (onde o Domingo é o número 0 e 7); Usuário: é o usuário que vai executar o comando (não é preciso passar se o arquivo do próprio usuário for utilizado); Comando: a tarefa que deverá ser executada.

Alguns comandos importantes são:

Editar o crontab

crontab -e

Listar as tarefas criadas

crontab -l

Remover as tarefas criadas

crontab -r

Acessando os CRONs/ Criando um novo

1- Acessar crontab do usuário corrente, ou seja, usuário que está logado no momento

crontab -e
criar cron no linux

2- Acessar crontab de outros usuários que não está logado

sudo crontab -u USUARIO -e

Criando as primeiras tarefas

Coloque abaixo da última linha a sua primeira tarefa que irá criar um arquivo em /tmp chamado exemplo.txt todo minuto de todas as horas, de todos os dias do mês, de todos os meses de todos os dias da semana

* * * * * touch /tmp/exemplo.txt

Vamos brincar com algumas regras para vocês verem o quão especificos podem ser.

1- Executar uma tarefa às 00h05 todos os dias no mês de Agosto

5 0 * 8 * command

2- Executar uma tarefa às 22h00 todos os dias da semana, de todos os meses, de segunda a sexta-feira

0 22 * * 1-5 command

3- Executar uma tarefa às 04h05 de todos os domingos (ao invés do 0 poderíamos usar o 7 também)

5 4 * * 0 command

4- Executar uma tarefa todo minuto do dia 14 no mês de Janeiro

* * 14 1 * command

5- Executar uma tarefa as 12h todos os dias da semana

* 12 * * 1-5 command

Logs da execução do Cron

Por fim, os logs podem ser encontrados em /var/log/syslog, conforme podem ver abaixo:

crontab linux

Por fim, agradecemos a leitura e esperamos que este post tenha te ajudado de alguma maneira! Caso tenha alguma dúvida, entre em contato conosco pelo Telegram , Facebook ou Instagram ! Veja mais posts no IronLinux !

Posts relacionados

Redirecionar a saída padrão e de erros

Redirecionar a saída padrão e de erros

Quando é executado um comando ou algum script no Linux é possível redirecionar a saída padrão e de erros para não ser printado em tela ou que seja direcionado à algum lugar especifico.

Ler post completo
Pilha TIG (Telegraf, InfluxDB e Grafana)

Pilha TIG (Telegraf, InfluxDB e Grafana)

Como todo bom SysAdmin você precisa de uma forma eficiente de monitorar os recursos dos seus servers, certo?

Ler post completo
Pesquisar comandos já digitados no Linux

Pesquisar comandos já digitados no Linux

Existe uma forma de pesquisar comandos já digitados além do HISTORY .

Ler post completo