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

SSL: Gerando Key e CSR no Linux

SSL: Gerando Key e CSR no Linux

GERAR KEY E CSR 1- Acesse o ambiente onde esta o site para o qual irá gerar o certificado

Ler post completo
Escalar privilégios com SUDO

Escalar privilégios com SUDO

O SUDO permite que um usuário execute um comando como super user (root), sendo ele um dos binários do linux que possibilita escalação de privilégio.

Ler post completo
Estressando MEM, DISCO e CPU com Stress-ng [Debian9]

Estressando MEM, DISCO e CPU com Stress-ng [Debian9]

O STRESS-NG Com a ferramenta Stress-ng podemos literalmente realizar o Stress de alguns recursos do seu servidor, sendo eles: Cpu, memória e disco.

Ler post completo