{"id":1089,"date":"2026-06-15T18:14:56","date_gmt":"2026-06-15T21:14:56","guid":{"rendered":"https:\/\/jrtx.com.br\/blog\/2026\/06\/15\/aula-16-agendamento-de-tarefas-cron-crontab-e-at\/"},"modified":"2026-06-15T18:14:56","modified_gmt":"2026-06-15T21:14:56","slug":"aula-16-agendamento-de-tarefas-cron-crontab-e-at","status":"publish","type":"post","link":"https:\/\/jrtx.com.br\/blog\/2026\/06\/15\/aula-16-agendamento-de-tarefas-cron-crontab-e-at\/","title":{"rendered":"Aula 16: Agendamento de tarefas \u2014 cron, crontab e at"},"content":{"rendered":"<p>Bem-vindo \u00e0 Aula 16 do nosso curso &#8220;Linux \u2014 Do Zero ao Avan\u00e7ado&#8221;. Hoje vamos mergulhar no fascinante mundo do <strong>agendamento de tarefas<\/strong> no Linux, utilizando ferramentas poderosas como o <strong>cron<\/strong>, <strong>crontab<\/strong> e <strong>at<\/strong>. Ao final desta aula, voc\u00ea n\u00e3o s\u00f3 entender\u00e1 como automatizar tarefas de rotina, mas tamb\u00e9m ser\u00e1 capaz de gerenciar suas execu\u00e7\u00f5es de maneira eficiente e confi\u00e1vel. Este conhecimento \u00e9 vital para qualquer profissional de TI que busca otimizar o tempo e garantir que processos essenciais funcionem sem supervis\u00e3o constante.<\/p>\n<p>O agendamento de tarefas \u00e9 uma habilidade cr\u00edtica, especialmente em ambientes de produ\u00e7\u00e3o, onde a automa\u00e7\u00e3o pode ser a diferen\u00e7a entre um sistema est\u00e1vel e um repleto de falhas. Vamos garantir que, ao t\u00e9rmino desta aula, voc\u00ea esteja apto a criar seus pr\u00f3prios agendamentos, configurar e verificar suas atividades agendadas corretamente.<\/p>\n<p>Antes de come\u00e7armos, \u00e9 importante que voc\u00ea tenha conclu\u00eddo as aulas anteriores do curso, pois abordaremos conceitos que dependem de conhecimento pr\u00e9vio sobre o sistema Linux. Certifique-se de que seu ambiente esteja preparado com as distribui\u00e7\u00f5es mencionadas e um conhecimento b\u00e1sico de navega\u00e7\u00e3o no terminal.<\/p>\n<p>Prepara-se para explorar o potencial do <strong>cron<\/strong> e suas utilidades, al\u00e9m de compreender como esses agendamentos podem ser fundamentais nos projetos realizados na <strong>JRT Technology Solutions<\/strong>, onde nossos especialistas o utilizam diariamente para otimizar opera\u00e7\u00f5es e garantir a execu\u00e7\u00e3o precisa de tarefas programadas. Vamos come\u00e7ar!<\/p>\n<h3>O que voc\u00ea vai aprender nesta aula<\/h3>\n<ul>\n<li>Configurar e utilizar o cron para agendamento de tarefas peri\u00f3dicas.<\/li>\n<li>Gerenciar crontabs para usu\u00e1rios e tarefas espec\u00edficas.<\/li>\n<li>Utilizar o comando at para agendar tarefas \u00fanicas.<\/li>\n<li>Verificar e testar configura\u00e7\u00f5es de agendamentos no Linux.<\/li>\n<li>Solucionar problemas comuns em agendamentos com cron e at.<\/li>\n<\/ul>\n<h3>Pr\u00e9-requisitos e Ambiente<\/h3>\n<p>Para seguir esta aula, certifique-se de ter um ambiente Linux configurado, preferencialmente nas distribui\u00e7\u00f5es Ubuntu\/Debian ou CentOS\/RHEL\/Rocky Linux. Voc\u00ea tamb\u00e9m deve ter acesso de administrador ao sistema para editar crontabs globais e garantir que os pacotes para o cron estejam instalados.<\/p>\n<h3>Introdu\u00e7\u00e3o ao Agendamento de Tarefas<\/h3>\n<p>No mundo Linux, o agendamento de tarefas \u00e9 orquestrado principalmente pelo daemon <strong>cron<\/strong>. Este sistema permite que voc\u00ea execute scripts ou comandos em hor\u00e1rios ou intervalos de tempo espec\u00edficos, gerenciados atrav\u00e9s de arquivos conhecidos como <strong>crontabs<\/strong>. Al\u00e9m disso, a ferramenta <strong>at<\/strong> oferece uma solu\u00e7\u00e3o para executar comandos em um momento espec\u00edfico no futuro, sem repeti\u00e7\u00f5es.<\/p>\n<p>O <strong>cron<\/strong> \u00e9 ideal para tarefas que precisam ser executadas recorrentemente, como backup de dados, envio de relat\u00f3rios di\u00e1rios, ou atualiza\u00e7\u00f5es peri\u00f3dicas no sistema. J\u00e1 o <strong>at<\/strong> \u00e9 perfeito quando voc\u00ea precisa resolver tarefas \u00fanicas, mas de forma programada.<\/p>\n<p>Compreender como utilizar essas ferramentas n\u00e3o apenas aumenta a efici\u00eancia das opera\u00e7\u00f5es de TI, mas tamb\u00e9m libera os profissionais para focarem em tarefas que realmente exigem interven\u00e7\u00e3o humana.<\/p>\n<h3>Instala\u00e7\u00e3o e Verifica\u00e7\u00e3o do cron<\/h3>\n<p>Antes de configurarmos nossos agendamentos, precisamos garantir que o servi\u00e7o <strong>cron<\/strong> esteja instalado e em execu\u00e7\u00e3o. Abaixo, fornecemos as instru\u00e7\u00f5es para verificar e iniciar o cron em Ubuntu\/Debian e CentOS\/RHEL\/Rocky Linux.<\/p>\n<h4>Ubuntu\/Debian<\/h4>\n<ol>\n<li>Atualize a lista de pacotes e instale o cron caso n\u00e3o esteja instalado.\n<pre><code>sudo apt update\nsudo apt install cron<\/code><\/pre>\n<\/li>\n<li>Verifique se o servi\u00e7o est\u00e1 ativo e habilite-o para iniciar ap\u00f3s uma reinicializa\u00e7\u00e3o.\n<pre><code>sudo systemctl status cron\nsudo systemctl enable cron<\/code><\/pre>\n<pre><code class=\"output\">\u25cf cron.service - Regular background program processing daemon\n   Loaded: loaded (\/lib\/systemd\/system\/cron.service; enabled)\n   Active: active (running) since...<\/code><\/pre>\n<\/li>\n<\/ol>\n<h4>CentOS\/RHEL\/Rocky Linux<\/h4>\n<ol>\n<li>Instale o pacote cron atrav\u00e9s do gerenciador de pacotes yum.\n<pre><code>sudo yum install cronie<\/code><\/pre>\n<\/li>\n<li>Inicie e habilite o servi\u00e7o cron.\n<pre><code>sudo systemctl start crond\nsudo systemctl enable crond<\/code><\/pre>\n<\/li>\n<li>Verifique o status do servi\u00e7o.\n<pre><code>sudo systemctl status crond<\/code><\/pre>\n<pre><code class=\"output\">\u25cf crond.service - Command Scheduler\n   Loaded: loaded (\/usr\/lib\/systemd\/system\/crond.service; enabled)\n   Active: active (running) since...<\/code><\/pre>\n<\/li>\n<\/ol>\n<h3>Configura\u00e7\u00e3o do crontab<\/h3>\n<p>O <strong>crontab<\/strong> \u00e9 o arquivo de configura\u00e7\u00e3o que o cron usa para determinar quais tarefas executar. Cada usu\u00e1rio pode ter seu pr\u00f3prio crontab, permitindo personalizar o agendamento de tarefas com diferentes permiss\u00f5es e contextos.<\/p>\n<ol>\n<li>Edite o crontab do usu\u00e1rio atual usando o comando abaixo:\n<pre><code>crontab -e<\/code><\/pre>\n<\/li>\n<li>No editor de texto que se abre, adicione a tarefa desejada usando a sintaxe padr\u00e3o do crontab. Por exemplo, para executar um script todos os dias \u00e0s 2 da manh\u00e3:\n<pre><code>0 2 * * * \/caminho\/para\/seu\/script.sh<\/code><\/pre>\n<ul>\n<li><strong>0<\/strong> \u2014 minuto (0-59)<\/li>\n<li><strong>2<\/strong> \u2014 hora (0-23)<\/li>\n<li><strong>*<\/strong> \u2014 dia do m\u00eas (1-31)<\/li>\n<li><strong>*<\/strong> \u2014 m\u00eas (1-12)<\/li>\n<li><strong>*<\/strong> \u2014 dia da semana (0-6, onde 0 \u00e9 domingo)<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h3>Utilizando o at para Tarefas \u00danicas<\/h3>\n<p>Diferente do cron, o <strong>at<\/strong> \u00e9 utilizado para agendar tarefas que voc\u00ea precisa executar uma \u00fanica vez em um tempo espec\u00edfico. Vamos explorar como utiliz\u00e1-lo!<\/p>\n<ol>\n<li>Certifique-se de que o servi\u00e7o at est\u00e1 instalado e ativo.\n<pre><code>sudo apt install at\nsudo systemctl start atd\nsudo systemctl enable atd<\/code><\/pre>\n<\/li>\n<li>Para agendar uma tarefa, primeiro entre no comando <strong>at<\/strong> seguido do tempo desejado. Exemplo:\n<pre><code>echo \"tar -czf \/backup\/dados.tar.gz \/dados\" | at now + 1 hour<\/code><\/pre>\n<p>O comando acima criar\u00e1 um arquivo tar de backup uma hora ap\u00f3s a execu\u00e7\u00e3o.<\/p>\n<\/li>\n<\/ol>\n<h3>Verificando a Instala\u00e7\u00e3o \/ Testando a Configura\u00e7\u00e3o<\/h3>\n<p>Ap\u00f3s configurar seus agendamentos, \u00e9 imperativo testar para garantir que tudo est\u00e1 funcionando conforme o planejado.<\/p>\n<pre><code>crontab -l<\/code><\/pre>\n<pre><code class=\"output\">0 2 * * * \/caminho\/para\/seu\/script.sh<\/code><\/pre>\n<p>Este comando lista as tarefas agendadas para o usu\u00e1rio atual, confirmando que o crontab foi corretamente configurado.<\/p>\n<h3>Erros Comuns e Como Resolver<\/h3>\n<ul>\n<li><strong>Erro:<\/strong> &#8220;no crontab for [user]&#8221; <br \/><strong>Causa:<\/strong> Nenhum crontab foi criado para o usu\u00e1rio.<br \/><strong>Solu\u00e7\u00e3o:<\/strong> Crie um novo crontab usando <code>crontab -e<\/code>.<\/li>\n<li><strong>Erro:<\/strong> Tarefas n\u00e3o executam no hor\u00e1rio.<br \/><strong>Causa:<\/strong> Erro na configura\u00e7\u00e3o de tempo ou permiss\u00e3o.<br \/><strong>Solu\u00e7\u00e3o:<\/strong> Revise o formato da linha no crontab e as permiss\u00f5es do usu\u00e1rio.<\/li>\n<li><strong>Erro:<\/strong> Servi\u00e7o cron n\u00e3o est\u00e1 iniciado.<br \/><strong>Causa:<\/strong> Servi\u00e7o n\u00e3o habilitado ou falhou ao iniciar.<br \/><strong>Solu\u00e7\u00e3o:<\/strong> Inicie e habilite o cron usando <code>systemctl<\/code>.<\/li>\n<li><strong>Erro:<\/strong> Comandos no script n\u00e3o executam corretamente.<br \/><strong>Causa:<\/strong> Caminhos incorretos ou permiss\u00f5es.<br \/><strong>Solu\u00e7\u00e3o:<\/strong> Verifique os caminhos no script e as permiss\u00f5es de execu\u00e7\u00e3o.<\/li>\n<\/ul>\n<h3>Boas Pr\u00e1ticas e Dicas Avan\u00e7adas<\/h3>\n<p>Anotar logs de execu\u00e7\u00e3o das tarefas agendadas \u00e9 uma boa pr\u00e1tica para diagn\u00f3stico de problemas futuros. Inclua redirecionamentos de sa\u00edda nos comandos do crontab, como <code>\/caminho\/para\/seu\/script.sh > \/var\/log\/meuscript.log 2>&1<\/code>. Outra dica avan\u00e7ada \u00e9 segmentar as tarefas em scripts pequenos e claros, permitindo manuten\u00e7\u00e3o f\u00e1cil e maior modularidade.<\/p>\n<h3>Resumo da Aula 16<\/h3>\n<p>Hoje aprendemos como agendar tarefas em sistemas Linux usando o <strong>cron<\/strong> e o <strong>at<\/strong>. Vimos como criar, configurar e verificar crontabs, al\u00e9m de agendar tarefas \u00fanicas com o <strong>at<\/strong>. Lembre-se de sempre verificar suas configura\u00e7\u00f5es e resolver problemas rapidamente com as dicas apresentadas. A automa\u00e7\u00e3o \u00e9 essencial em ambientes de produ\u00e7\u00e3o e, em nossos projetos na <strong>JRT Technology Solutions<\/strong>, garantimos que nossos sistemas operem de maneira otimizada e ininterrupta.<\/p>\n<p>Na pr\u00f3xima aula, vamos explorar a administra\u00e7\u00e3o de pacotes em Linux, abordando ferramentas como apt, yum e dnf. Vamos aprofundar como gerenciar seus pacotes de software com efici\u00eancia!<\/p>\n<div style=\"margin:52px 0 40px;padding:36px 28px;background:linear-gradient(135deg,#0f172a 0%,#1a2744 100%);border:2px solid #25D366;border-radius:18px;text-align:center;box-shadow:0 4px 28px rgba(37,211,102,0.18)\">\n<p style=\"margin:0 0 10px;font-size:18px;color:#ffffff;font-weight:700;line-height:1.4\">Quer aprender na pr\u00e1tica com especialistas?<\/p>\n<p style=\"margin:0 0 28px;font-size:15px;color:#94a3b8;font-weight:400;line-height:1.6\">A JRT Technology Solutions oferece treinamentos e implementa\u00e7\u00e3o de Linux para equipes corporativas.<\/p>\n<p>  <a href=\"https:\/\/api.whatsapp.com\/send\/?phone=5521980606699&#038;text=Ol%C3%A1!%20Tenho%20interesse%20no%20treinamento%20de%20Linux.&#038;type=phone_number&#038;app_absent=0\"\n     target=\"_blank\" rel=\"noopener noreferrer\"\n     style=\"display:inline-flex;align-items:center;gap:12px;background:#25D366;color:#ffffff;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:16px;font-weight:700;padding:15px 32px;border-radius:100px;text-decoration:none;box-shadow:0 4px 16px rgba(37,211,102,0.45);letter-spacing:0.01em\"><br \/>\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"22\" height=\"22\" viewBox=\"0 0 24 24\" fill=\"#ffffff\"><path d=\"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413z\"\/><\/svg><br \/>\n    Falar no WhatsApp<br \/>\n  <\/a>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Domine o agendamento de tarefas no Linux com cron, crontab e at. Aprenda a automatizar scripts e comandos de forma pr\u00e1tica nesta aula completa.<\/p>\n","protected":false},"author":1,"featured_media":1088,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":0,"footnotes":""},"categories":[62],"tags":[1914,1915,1916,1912,1913,1917],"class_list":["post-1089","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","tag-agendamento-de-tarefas-linux","tag-at-command","tag-automacao-sysadmin","tag-cron","tag-crontab","tag-scripts-periodicos"],"_links":{"self":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts\/1089","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/comments?post=1089"}],"version-history":[{"count":0,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/posts\/1089\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/media\/1088"}],"wp:attachment":[{"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/media?parent=1089"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/categories?post=1089"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jrtx.com.br\/blog\/wp-json\/wp\/v2\/tags?post=1089"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}