No universo Linux, é possível programar a execução de tarefas através do Cron. Mas afinal, o que é o Cron? Trata-se de um serviço que opera em segundo plano, capaz de executar comandos, scripts ou programas automaticamente, seguindo um cronograma pré-definido. A grande vantagem é a sua alta capacidade de personalização.
O Cron é uma ferramenta extremamente útil, porém, sua sintaxe pode ser um tanto confusa, principalmente para usuários menos experientes. Para facilitar o entendimento e o uso do Cron, vamos desmistificar sua sintaxe e mostrar como programar tarefas no Linux de forma automatizada.
Instalação do Cronie
Em muitas distribuições Linux, o Cron já vem instalado e configurado por padrão. Isso se deve à sua importância na automação de tarefas via linha de comando, um pilar do trabalho de administradores de sistemas Linux.
Apesar de sua presença comum, nem todos os sistemas Linux já o incluem. Portanto, antes de explorarmos como usar o Cron, é fundamental verificar se ele está instalado e, caso necessário, instalá-lo.
Neste guia, focaremos na instalação do Cronie, uma ferramenta que frequentemente acompanha distribuições Red Hat Linux. A escolha se justifica por sua funcionalidade padrão e pela disponibilidade de seus pacotes nos repositórios da maioria das distribuições.
Para verificar se o Cronie está instalado em seu sistema, abra o terminal e execute o comando abaixo. Se nada acontecer, isso indica a necessidade de instalação do Cronie, pois seu sistema não possui um mecanismo para programar comandos.
crontab -h
Ubuntu/Debian
As distribuições Ubuntu e Debian não utilizam o Cronie, mas geralmente já vêm com o Cron configurado. Se por acaso seu sistema apresentar problemas com o Crontab, consulte a documentação oficial do Debian ou Ubuntu para obter suporte.
Arch Linux
O Arch Linux é uma distribuição que exige mais personalização do usuário, que precisa instalar e configurar cada pacote do sistema. Por isso, muitos usuários acabam esquecendo de instalar o Cron para agendamento de tarefas. Felizmente, o Cronie está disponível no repositório “Arch Linux Core”. Para instalá-lo, use o comando Pacman abaixo.
sudo pacman -S cronie
Fedora
O Fedora Linux, voltado para estações de trabalho, geralmente já vem com o Cron e o Crontab prontos para uso. No entanto, caso precise instalar, o Cronie pode ser facilmente adicionado ao sistema utilizando o gerenciador de pacotes DNF.
sudo dnf install cronie -y
OpenSUSE
O OpenSUSE Leap (a versão mais utilizada do SUSE) também é uma distribuição voltada para estações de trabalho, o que significa que o Cron normalmente já está configurado. Caso contrário, você pode instalar o Cronie com o comando Zypper abaixo.
sudo zypper install cronie
Linux genérico
E se você estiver usando uma distribuição Linux menos popular que não inclui o Cron? Para sua sorte, o Cronie é um projeto de código aberto e as instruções de compilação são bem diretas. Para mais detalhes, acesse esta página.
Agendando comandos com o Cron
Para agendar comandos usando o Cron, é preciso utilizar o “Crontab”. O Crontab é um arquivo que armazena suas programações, encaminhando-as para o daemon Cron executar.
Para acessar o Crontab em seu sistema, abra o terminal e execute o comando abaixo. É importante incluir a linha EDITOR=nano, para garantir o uso do editor Nano, mais simples de usar.
EDITOR=nano crontab -e
Após executar o comando, um arquivo em branco será aberto no editor. É neste arquivo que você adicionará os comandos a serem executados.
A sintaxe do Cron para agendamento de tarefas é um pouco complexa. Ela inclui minutos, horas, dias do mês, meses e dias da semana. Para facilitar, vamos usar um gerador online de Crontab, em vez de escrever tudo manualmente. Para isso, utilizaremos o site Crontab Generator.
No gerador, utilize as caixas de seleção para escolher o horário de execução da tarefa. Depois, no campo “Command To Execute”, insira o comando do terminal que você deseja que seu computador ou servidor Linux execute automaticamente. Lembre-se de que “comandos” não são apenas comandos Linux como “apt update” ou “ping”. Pode ser qualquer comando que funcione no terminal!
Após preencher o comando, clique no botão verde “Generate Crontab Line” para gerar a linha de texto. Copie essa linha e retorne ao editor de texto Crontab.
Cole o código no Nano com Ctrl + Shift + V e salve o arquivo usando Ctrl + O. Depois de salvar o Crontab, saia do editor com Ctrl + X. A parte mais difícil já passou!
Observação: usuários que não estão usando o Cronie podem precisar executar crontab -e novamente após a edição para garantir que o novo arquivo seja ativado.
Assim que a edição for finalizada, o serviço Cron identificará as novas programações e executará as tarefas conforme o especificado!