Ao trabalhar com o Linux ou com outras distribuições diariamente, há uma lista de tarefas que precisam ser feitas de hora em hora, diariamente ou mensalmente. No entanto, ninguém cancela o fator humano e é muito fácil esquecer de executar uma tarefa simples ou uma lista rotineira delas. Para automatizar esse tipo de coisa, existe um agendador de tarefas - CRON! Ele permite que você execute os comandos necessários em uma determinada programação ou intervalo.
O que é o Cron e como posso encontrá-lo?
O Cron é um utilitário de sistema para automatizar a execução de tarefas, scripts, comandos de utilitários e serviços com uma programação predefinida de horários ou intervalos precisos. Essa solução permite que você execute tarefas rotineiras e constantes sem a participação do usuário. O Cron é composto de várias partes:
- arquivos de configuração crontab com comandos a serem executados, quando e qual comando deve ser executado. Um arquivo separado pode ser criado para cada usuário, geralmente armazenado no diretório /etc/cron.d;
- serviço crond, que verifica periodicamente os arquivos com trabalhos para executá-los.
Vamos verificar se o utilitário está instalado em seu sistema e onde encontrá-lo. Para gerenciadores de pacotes do tipo RPM, use o comando:
Se você estiver usando o gerenciador apt, use apt list para pesquisar:
Isso exibirá uma lista de utilitários instalados mencionando o cron, a partir da qual você pode inferir o software instalado!
Instalação do cron
Se você descobrir que os pacotes não estão presentes em seu dispositivo, será necessário instalá-los por meio do comando para distribuições do tipo apt. Como o Debian e o Ubuntu:
Para sistemas do tipo RPM, o comando para instalar um pacote com suas dependências pode ter a seguinte aparência:
Depois de nos certificarmos de que todas as dependências do pacote estão instaladas por meio do comando crontab, podemos passar para sua sintaxe!
Sintaxe e princípio de funcionamento do cron
Há alguns blocos básicos usados para criar uma tarefa no cron:
O primeiro bloco com valores de tempo que, em ordem, indicam o momento em que a tarefa deve ser executada. Em seguida, vem o nome do usuário a partir do qual ela deve ser executada, bem como o caminho completo para o comando. Se o nome não for especificado, a tarefa será atribuída ao usuário pelo qual foi criada.
Por exemplo, precisamos exibir um texto na hora exata mais próxima e gravá-lo em um arquivo. Para fazer isso, vamos escrever o comando:
Uma janela com campos vazios será aberta no terminal, esse é o nosso arquivo de tarefas, no qual podemos escrever um deles. Para fazer isso, vamos acessar o modo de edição por meio do botão i e escrever a seguinte linha:
Isso significa que todos os dias, às 7 horas e 27 minutos, o comando write to file será executado! Em seguida, pressione Esc para sair do modo de edição e digite :wq para salvar e sair do editor.
Para fazer isso, digite o seguinte comando; se não for difícil, pule esta etapa:
EDITOR=nano
Vamos voltar ao nosso gerenciador de tarefas! Depois que uma tarefa for adicionada, o cron emitirá um alerta sobre ela e, para verificar a lista de tarefas atuais, você precisará escrever:
Ótimo! A tarefa foi criada e agora precisamos verificar sua operacionalidade. Para isso, podemos aguardar o tempo para o qual a tarefa foi definida ou executar o arquivo à força por meio do comando:
Depois disso, corrigiremos o resultado:
O Cron trabalhou em uma tarefa e gravou dados em um arquivo, mas e se a tarefa não for concluída? Como posso saber quais ações o cron executou?
Logging de cron
Para visualizar as ações do utilitário, é necessário abrir um arquivo de texto com os registros por meio do seguinte comando:
Ou use outro caminho:
O que abrirá uma lista de atividades recentes:
Nas últimas linhas, você pode ver que o serviço CROND cronometrou o tempo limite do comando e depois foi encerrado. Se a lista de tarefas no cron estiver desatualizada, você poderá excluir todas as tarefas por meio do comando:
Todas as etapas do tutorial podem ser executadas em poderosos servidores em nuvem. O Serverspace fornece servidores VPS isolados para uso comum e virtualizado.
Levará algum tempo para implementar a capacidade do servidor. Depois disso, você poderá se conectar de qualquer uma das formas convenientes!
Exemplo de uso do cron
Se considerarmos tarefas reais, o cron ajuda a rotacionar arquivos e registros temporários, limpar diretórios temporários e criar backups. Tanto para bancos de dados quanto para outros sistemas. Por exemplo, vamos considerar a limpeza de diretórios, todos os dias em intervalos de 2 horas e 0 minutos com o comando cleanup com base no armazenamento de mais de um dia:
Vamos verificar se ele funciona usando os utilitários e métodos descritos acima:
Depois de verificar se o utilitário executou o comando apropriado, podemos declarar o domínio bem-sucedido do CRON!
Conclusão
O CRON é uma das ferramentas mais úteis do Linux para automatizar tarefas rotineiras sem intervenção humana. Com ele, você pode agendar scripts, comandos administrativos, limpezas de diretórios, backups e qualquer outra ação necessária para manter seu sistema organizado e funcionando corretamente. Neste guia, você aprendeu como instalar o cron, entender sua sintaxe, criar tarefas personalizadas, verificar sua execução e analisar logs para identificar possíveis erros.
Dominar o CRON permite otimizar fluxos de trabalho, reduzir erros operacionais e aumentar a eficiência do servidor — especialmente em ambientes de produção. Combine essas práticas com servidores VPS confiáveis para garantir automações rápidas e estáveis.
FAQ
- O CRON já vem instalado por padrão no Linux?
Depende da distribuição. Em muitos sistemas, o cron já está presente, mas em alguns casos é necessário instalá-lo manualmente via apt ou dnf. - Onde ficam armazenadas as tarefas do cron?
As tarefas de usuários ficam no arquivo crontab de cada conta, enquanto tarefas globais são armazenadas em /etc/cron.d, /etc/cron.daily, /etc/cron.hourly e outros diretórios semelhantes. - Qual editor o cron usa para editar tarefas?
Por padrão, o cron usa o editor definido na variável EDITOR. Caso prefira outro editor, você pode definir temporariamente, por exemplo:EDITOR=nano crontab -e. - Como verificar se uma tarefa do cron foi executada?
Você pode consultar os logs com:tail /var/log/cronoutail /var/log/syslog | grep cron. - Como excluir todas as tarefas do cron?
Use o comando crontab -r para remover completamente o arquivo de tarefas do usuário. - O cron é adequado para executar scripts pesados?
O cron pode executar qualquer comando ou script, mas processos muito pesados devem ser monitorados, e é recomendável usar logs e validação adicional para evitar falhas silenciosas. - Posso rodar tarefas com diferentes usuários?
Sim. Em /etc/cron.d, você pode especificar o usuário diretamente na linha da tarefa. No crontab do usuário, as tarefas sempre rodam sob o próprio usuário.