O que é Cron e Crontab?

19/01/2018 às 12:30 Ajuda

O que é Cron e Crontab?

Em um sistema operacional, existem vários comandos que executam vários tipos de tarefas. Sem eles, praticamente seria impossível o usuário navegar com tranquilidade na internet ou mesmo na área de trabalho do seu desktop. O Linux, que é um moderno sistema operacional, traz o Cron e o Crontab, que são dois comandos que auxiliam bastante o usuário. Mas o que é o Cron e o Crontab? Quais são suas aplicações? Leia esse artigo até o final e saiba tudo sobre esses dois indispensáveis comandos do Linux.

O que é Cron e Crontab?

Esses dois comandos são, de uma maneira geral, os responsáveis pelo agendamento e execução de tarefas que o usuário espera que sejam executadas com certa regularidade. Essa constância pode ser várias vezes por minuto, hora, dia, mês ou ano. Com toda a vantagem que os scripts possibilitam em qualquer linguagem que seja escrito, todas as possibilidades se tornam praticamente infinitas.

Suponha que você precise fazer um backup de seu banco de dados MySQL, todos os dias as 6 horas da manhã. Não seria mais viável que o próprio Linux fizesse esse backup automaticamente para você? É esse tipo de comodidade que o Cron permite que você tenha. Além disso, é muito simples e basta criar um script e agendar no arquivo Crontab para que o backup seja executado todos os dias na hora estipulada por você. Aproveite e leia também nosso post sobre Como criar um blog

O Cron do Linux

O Cron do Linux é um programa que executa comandos ou scripts que são agendados por uma tabela chamada de Crontab. Quando é iniciado, ele procura por arquivos Crontab, com o objetivo de carregá-los na memória. Além disso, o Cron também faz a leitura do arquivo /etc/crontab e os arquivos em /etc/cron.d em busca de mais tarefas a serem executadas, como se fosse um espécie de agenda eletrônica.

Depois de carregado na memória por completo, o Cron será executado minuto por minuto, examinando todos os Crontabs armazenados e checando cada comando para saber se algo precisa ser executado naquele momento. No caso de vários usuários, cada um pode ter uma tabela Crontab diferente e o Cron saberá quando deverá executar determinada tarefa e quem será o responsável pelas mesmas. É muita praticidade para o usuário, certo?

Crontab

Crontab é um arquivo que contém informações sobre quando um comando ou script deve ser executado e quem é o responsável pela ação. Trata-se de um arquivo de texto simples que tem um formato diferenciado para que o Cron o entenda e trabalhe em sintonia com ele. Em outras palavras, o arquivo Crontab seria uma agenda e o Cron, o dono dessa agenda que verifica minuto a minuto sem tem alguma tarefa a ser executada. Existe um comando chamado de “Crontab” que serve para criar Crontabs de acordo com a necessidade passada para ele. É ainda possível criar um Crontab para cada usuário específico, o que faz gerir melhor todos os processos, separadamente. Conheça mais sobre os serviços oferecidos por nossa empresa em Hospedagem de Site

Cron e Crontab no Linux

Para colocar em prática tudo o que você leu até aqui, é muito simples. A única coisa que você precisa fazer para agendar tarefas no Linux é adicionar uma linha no arquivo /etc/crontab e pronto. Vale lembrarque cada linha é responsável por uma tarefa e que deve ser escrita seguindo um formato específico para o Cron, caso contrário não vai funcionar. Veja alguns detalhes sobre esse formato da linha do arquivo:

Minuto: de 0 a 59

Hora: de 0 a 23

Dia do mês: de 1 a 31

Mês: de 1 a 12

Dia da semana: de 0 a 7 (0 e 7 equivalem a domingo)

Usuário: o responsável pela tarefa

Comando/Script: um comando ou script que você deseja que seja executado.

Além dos trechos acima, você também pode utilizar alguns símbolos no comando. Veja os exemplos:

Um asterisco (*): significa que aquele trecho irá repetir continuamente. Por exemplo, se você colocar um * no lugar dos minutos, a tarefa será executada minuto a minuto, ininterruptamente.

Um traço: (-): significa um range, ou seja, 1-5 equivale a 1,2,3,4 e 5.

Uma barra (/): indica saltos para um range. Por exemplo */2 significa de 2 em 2. Se você colocar esse comando no lugar dos minutos, a tarefa será executada a cada 2 minutos.

Uma vírgula (,): Separa valores e ranges. Por exemplo 1-2,10. Pode-se dizer que uma tarefa será executada às 7 da manhã e às 14 horas, ou quantas vezes você necessitar. Aprimore mais seus conhecimentos em vantagens de Criar um Blog

Crontab no Linux

Em alguns casos, o Linux já traz algumas tarefas especificas no Crontab, portanto, você deve adicionar suas novas linhas ao final do arquivo. Vale ressaltar que o sinal de cerquilha (#) tem a função de caracterizar aquela linha com um comentário. Em outras palavras, toda linha que tiver um # no início não será lida pelo Cron do Linux.

Esse detalhe pode ser muito útil para que você possa documentar todas as suas tarefas e escrever o motivo pelo qual você adicionou determinada linha no Crontab. Dessa forma, fica bem mais fácil de lembrar posteriormente e você não corre o risco de adicionar ou remover algo sem querer. É claro que dúvidas podem surgir ao longo do caminho, mas desde que você pratique esses comandos e tenha bastante atenção ao executá-los, eles podem ser uma mão na roda na hora da execução de tarefas. Afinal de contas, ninguém gosta de ficar lembrando disso ou daquilo todos os dias, perante tanta coisa para se fazer, não é? O Cron e o Crontab serão a sua agenda digital.

Ainda tem dúvidas sobre o que é Cron e Crontab? Sem problemas. Em nosso blog você pode ler mais sobre esse e outros assuntos. Para nossa empresa, o cliente vem sempre em primeiro lugar. Não medimos esforços para prestar um atendimento de qualidade a todos. 

Gostou de nosso post? Compartilhe: