Crontab – Aprenda a agendar tarefas
- Vinicius Souza
- Linux
- 21 de abril de 2021
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
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:
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 !