Agendando a Execução Automática no Windows e Linux — aula do módulo Script de Automação em Python, na trilha Seus Primeiros Projetos Práticos com IA da…
Leitura de aproximadamente 4 minutos.
Módulo: Script de Automação em Python · Curso: Seus Primeiros Projetos Práticos com IA · Formação: Formação Nível Zero: Ferramentas Essenciais e Gratuitas de IA e Código
Até aqui, você aprendeu a especificar e construir um script Python robusto que organiza arquivos e grava relatórios de log. No entanto, se você ainda precisa abrir o terminal todos os dias às 18h e digitar python organizador.py, o processo continua dependendo da sua memória e do seu tempo.
A verdadeira automação é aquela que roda em silêncio no computador ou servidor, enquanto você se dedica a outras prioridades:
+-------------------------------------------------------------+
| CICLO DE EXECUÇÃO AGENDADA |
+-------------------------------------------------------------+
| |
| [ 1. GATILHO TEMPORAL ] |
| └─ Relógio do Sistema atinge o horário (ex: Todo dia 18h)|
| |
| [ 2. AGENDADOR DO SISTEMA ] |
| └─ Windows Task Scheduler ou Linux Cron dispara comando |
| |
| [ 3. MOTOR PYTHON ] |
| └─ python.exe organizador.py roda em segundo plano |
| |
| [ 4. ATUALIZAÇÃO DO LOG ] |
| └─ execucao.log registra a conclusão da tarefa |
| |
+-------------------------------------------------------------+
O Windows possui uma ferramenta nativa de nível empresarial chamada Agendador de Tarefas (Task Scheduler).
1. Pressione a tecla Windows no teclado, digite Agendador de Tarefas (ou taskschd.msc) e pressione Enter. 2. No menu à direita, clique em Criar Tarefa Básica. 3. Dê um nome claro para a tarefa (exemplo: Organizador Automatico de Relatorios). 4. Escolha a frequência do Disparador: Diariamente, Semanalmente ou Ao Fazer Logon. 5. Na etapa Ação, selecione Iniciar um programa:
python (ou o caminho completo do seu python.exe).organizador.py.D:\projetos\automacao-arquivos).6. Clique em Concluir.
Em sistemas baseados em Unix (como servidores Linux na nuvem ou macOS), o agendamento de tarefas é feito por meio do serviço Cron.
A tabela de agendamentos é editada com o comando crontab -e no terminal. Cada linha segue a sintaxe de 5 campos temporais:
# ┌───────────── minuto (0 - 59)
# │ ┌────────────── hora (0 - 23)
# │ │ ┌─────────────── dia do mês (1 - 31)
# │ │ │ ┌──────────────── mês (1 - 12)
# │ │ │ │ ┌───────────────── dia da semana (0 - 6) (Domingo = 0)
# │ │ │ │ │
0 18 * * 1-5 cd /caminho/do/projeto && /usr/bin/python3 organizador.py
(O exemplo acima executa o script de segunda a sexta-feira, pontualmente às 18:00).
| Sistema Operacional | Ferramenta | Interface | Vantagem Principal | |---|---|---|---| | Windows | Agendador de Tarefas (Task Scheduler) | Gráfica e PowerShell | Fácil visualização e suporte a contas de usuário locais | | Linux / macOS | Cron (crontab) | Terminal / Texto | Ultra-leve, padrão absoluto em servidores e VPS |
executar.bat)No Windows, uma prática muito comum para facilitar o agendamento é criar um pequeno arquivo de lote (.bat) na pasta do projeto. Ele garante que o terminal sempre entre na pasta correta antes de chamar o Python:
@echo off
cd /d "%~dp0"
python organizador.py
Com esse arquivo criado, no Agendador de Tarefas você só precisa apontar o programa diretamente para o arquivo executar.bat.
[!IMPORTANT]
**Esquecer de preencher o campo "Iniciar em" (Start In) no Windows**: Quando o Windows Task Scheduler dispara um script, por padrão ele executa a partir da pastaC:\Windows\System32. Se o campo "Iniciar em" estiver vazio, o Python tentará buscar a pastadados_brutos/dentro da pasta do sistema do Windows, gerando erro de arquivo não encontrado. Sempre preencha o caminho da pasta do projeto!
Vamos testar o agendamento da sua automação:
1. Crie o arquivo executar.bat: Na pasta automacao-arquivos, crie o arquivo executar.bat com o conteúdo mostrado nesta aula. 2. Teste manual do batch: Dê um duplo clique no arquivo executar.bat no seu explorador de arquivos e verifique se o script roda e fecha normalmente. 3. Crie uma tarefa de teste no Agendador: Abra o Agendador de Tarefas do Windows, crie uma tarefa básica chamada Teste Python e defina para iniciar o executar.bat. 4. Dispare manualmente a tarefa: Na lista do Agendador de Tarefas, clique com o botão direito na tarefa criada e selecione Executar. 5. Confira o log: Abra o arquivo execucao.log e confira a nova linha registrada com a data e hora do disparo do agendador!