A utilização das tarefas agendadas, também conhecidas como cron jobs, é uma prática comum em sistemas baseados em Unix e Linux. O utilitário Cron é uma ferramenta poderosa que permite aos usuários automatizar a execução de comandos ou scripts em momentos específicos, de acordo com um cronograma predefinido.
Funcionamento do Cron:
O Cron opera por meio de uma tabela chamada “crontab”, que contém as instruções para as tarefas a serem executadas e seus horários de execução. Cada usuário no sistema possui sua própria crontab, que pode ser editada com o comando crontab -e.
Estrutura da Crontab:
A crontab possui um formato específico, composto por cinco campos de tempo seguidos pelo comando a ser executado. Os campos de tempo representam, respectivamente:
- Minuto (0-59)
- Hora (0-23)
- Dia do mês (1-31)
- Mês (1-12)
- Dia da semana (0-6, onde 0 representa Domingo)
Além disso, é possível utilizar caracteres especiais para especificar intervalos ou valores múltiplos. Por exemplo, o asterisco (*) indica “todos os valores possíveis” para o campo correspondente.
Exemplos de Utilização:
Para agendar uma tarefa que deve ser executada todos os dias às 3 da manhã, você pode adicionar a seguinte linha à sua crontab:
0 3 * * * comando
Se você quiser que a tarefa seja executada a cada hora, você pode usar:
0 * * * * comando
Para executar um script todos os dias às 8 da manhã, você pode fazer:
javascript0 8 * * * /caminho/do/script.sh
Outras Considerações:
É importante observar que as saídas padrão e de erro das tarefas agendadas geralmente são enviadas por e-mail para o usuário que as criou. Você pode redirecionar essas saídas para arquivos específicos adicionando >> /caminho/do/arquivo.log 2>&1 ao final de sua linha cron.
Além disso, é essencial ter cuidado ao editar a crontab, pois qualquer erro de sintaxe pode resultar em falhas na execução das tarefas agendadas.
Gerenciamento da Crontab:
Para visualizar o conteúdo da crontab atual, você pode usar o comando crontab -l. Para remover sua crontab, você pode executar crontab -r. E para editar sua crontab, utilize crontab -e, que abrirá o arquivo em um editor de texto padrão configurado no sistema (como vi ou nano).
Conclusão:
O uso do Cron e das tarefas agendadas é uma técnica valiosa para automatizar processos em sistemas Unix e Linux. Ao compreender a estrutura e o funcionamento da crontab, os usuários podem programar a execução de comandos e scripts de forma eficiente, contribuindo para uma maior produtividade e confiabilidade do sistema.
“Mais Informações”

Além das funcionalidades básicas do Cron que mencionei anteriormente, existem algumas nuances e recursos avançados que os usuários podem explorar para uma utilização mais eficaz e personalizada das tarefas agendadas. Vamos explorar alguns desses aspectos adicionais:
Intervalos e Listas:
Além do uso do asterisco (*) para representar “todos os valores possíveis”, você pode especificar intervalos de valores ou listas separadas por vírgulas para os campos de tempo na crontab. Por exemplo:
1,15,30 3 * * * comando– Executa o comando nos minutos 1, 15 e 30 de cada hora às 3 da manhã.*/15 * * * * comando– Executa o comando a cada 15 minutos.
Tarefas com Frequência Diferenciada:
Às vezes, pode ser necessário executar tarefas com frequências diferentes em dias específicos da semana ou do mês. Para isso, você pode criar múltiplas entradas na crontab, cada uma com um cronograma distinto.
Por exemplo, para executar um comando às 8 da manhã de segunda a sexta-feira e às 10 da manhã aos sábados e domingos, você pode fazer:
0 8 * * 1-5 comando 0 10 * * 6,7 comando
Comandos Especiais:
O Cron oferece alguns comandos especiais que podem ser úteis em determinadas situações:
@reboot– Executa o comando quando o sistema é iniciado.@yearly,@annually,@monthly,@weekly,@daily,@hourly– Executa o comando com a frequência correspondente.
Por exemplo, para agendar um comando para ser executado diariamente à meia-noite, você pode usar:
css@daily comando
Ambiente de Execução:
Ao executar tarefas agendadas com o Cron, é importante entender o ambiente no qual essas tarefas são executadas. O Cron não herda as variáveis de ambiente do shell do usuário, então é necessário definir todas as variáveis de ambiente necessárias diretamente na crontab ou no script que está sendo executado.
Logs e Saída:
Para garantir que você esteja ciente de quaisquer problemas ou resultados das tarefas agendadas, é recomendável redirecionar a saída padrão e de erro para arquivos de log específicos. Isso pode ser feito adicionando >> /caminho/do/arquivo.log 2>&1 ao final de cada linha da crontab.
Segurança:
É fundamental garantir que apenas usuários autorizados tenham permissão para editar ou visualizar a crontab, pois isso pode afetar diretamente a segurança e a estabilidade do sistema.
Conclusão:
O Cron é uma ferramenta poderosa para automatizar tarefas em sistemas Unix e Linux, oferecendo uma ampla gama de recursos e flexibilidade. Ao compreender completamente sua sintaxe e funcionalidades avançadas, os usuários podem tirar o máximo proveito da automação de tarefas, melhorando a eficiência e a confiabilidade de seus sistemas.

