Um script que organiza a pasta de downloads só ajuda se você lembrar de rodar. O passo seguinte é automatizar também isso: dizer ao computador “execute isto todo dia às 8h”. Os sistemas operacionais já trazem ferramentas para isso, e nenhuma exige instalar programa extra.
Este guia mostra o caminho no Windows e no Linux ou Mac, além dos erros que costumam travar quem começa. Os scripts de exemplo podem ser os de automatizar planilhas com Python ou enviar e-mails automáticos.
Antes de agendar: o script precisa funcionar sozinho
Teste o script manualmente e confirme que ele:
- roda do começo ao fim sem pedir nada ao teclado;
- não depende de a pasta atual do terminal ser a certa (use caminhos completos);
- não exige que você tenha uma janela aberta;
- grava um registro simples do que fez.
Esse registro é essencial: como a tarefa roda em segundo plano, é a única forma de saber se deu certo.
No Windows: Agendador de Tarefas
O Agendador de Tarefas (em inglês, Task Scheduler) vem com o Windows. Para abrir, digite “Agendador de Tarefas” na busca do menu Iniciar. O nome do programa e os rótulos podem variar conforme a versão.
- No painel da direita, clique em Criar Tarefa Básica.
- Dê um nome e uma descrição, como “Organizar downloads”.
- Escolha o gatilho: diariamente, semanalmente, mensalmente, ao iniciar o computador ou ao fazer logon.
- Defina o horário e a frequência.
- Em Ação, escolha Iniciar um programa.
- Em Programa/script, indique o executável. Para Python, o caminho completo do python.exe (para achá-lo, use o comando where python no Prompt de Comando).
- Em Adicionar argumentos, coloque o caminho completo do seu arquivo .py, entre aspas se tiver espaços.
- Em Iniciar em, coloque a pasta onde o script e os arquivos estão.
- Conclua e, para testar, clique com o botão direito na tarefa e escolha Executar.
Opções úteis nas propriedades da tarefa
Depois de criada, abra as propriedades da tarefa para ajustar:
- Executar estando o usuário conectado ou não: permite rodar sem a sessão aberta, mas pede a senha da conta.
- Executar assim que possível após uma inicialização agendada perdida: compensa o computador desligado no horário.
- Parar a tarefa se ela for executada por mais de: evita que um script travado fique rodando para sempre.
- Aba Histórico: mostra quando a tarefa foi iniciada e o resultado.
No Linux e no Mac: cron
O cron é o agendador clássico dos sistemas baseados em Unix. Cada usuário tem uma lista de tarefas chamada crontab. Para editar, digite no terminal crontab -e.
Cada linha tem cinco campos de tempo e depois o comando:
- minuto (0 a 59);
- hora (0 a 23);
- dia do mês (1 a 31);
- mês (1 a 12);
- dia da semana (0 a 7, onde 0 e 7 são domingo).
O asterisco significa “qualquer valor”. Alguns exemplos de horário, em palavras:
- minuto 0, hora 8, os outros campos com asterisco: todo dia às 8h;
- minuto 30, hora 18, dia da semana 5: toda sexta às 18h30;
- minuto 0, hora 0, dia do mês 1: no primeiro dia de cada mês, à meia-noite.
Depois dos cinco campos vem o comando completo, como o caminho do Python seguido do caminho do script. Para saber o caminho do Python, use which python3. Para ver a lista atual, use crontab -l.
No Mac, o cron funciona, mas o sistema também tem o launchd como ferramenta mais moderna de agendamento. Para tarefas simples, o cron costuma bastar, e o sistema pode pedir permissões extras de acesso a pastas.
Por que a tarefa agendada falha
Os motivos mais frequentes:
- Caminho relativo: o script abre “dados.xlsx” sem caminho completo e a tarefa, que começa em outra pasta, não encontra.
- Python errado: a máquina tem várias versões ou ambientes virtuais. Aponte para o Python do ambiente do projeto (veja ambiente virtual no Python).
- Variáveis de ambiente ausentes: senhas e chaves que estavam configuradas no terminal não existem na tarefa. Veja variáveis de ambiente e arquivo .env.
- Permissões: a conta que executa a tarefa não tem acesso à pasta ou à rede.
- Computador desligado ou suspenso no horário.
- Senha da conta alterada no Windows, o que quebra tarefas configuradas para rodar sem sessão aberta.
Para investigar, leia o registro do script e a mensagem de erro. Dicas de leitura estão em como ler mensagens de erro e depurar código.
Boas práticas para tarefas que rodam sozinhas
Uma tarefa agendada roda sem ninguém olhando, então ela precisa ser confiável por conta própria:
- Registre tudo. Grave data, hora e resultado de cada execução num arquivo de log.
- Avise quando falhar. Um e-mail ou notificação simples evita descobrir o problema semanas depois.
- Evite sobreposição. Se a tarefa demora mais do que o intervalo, duas cópias podem rodar ao mesmo tempo e brigar pelos mesmos arquivos.
- Escolha bem o horário. Evite horários em que o computador costuma estar em uso intenso ou desligado.
- Revise de vez em quando. Confira se a tarefa ainda faz sentido e se os caminhos continuam válidos.
Anote também, num arquivo de texto, o que cada tarefa faz e onde está o script. Daqui a meses, será a sua melhor documentação.
Quando o computador não é o lugar certo
Tarefas que precisam rodar sempre, mesmo com seu PC desligado, ficam melhor em um servidor ou serviço em nuvem que tenha agendamento próprio. Para uso pessoal, o agendador do computador resolve. Comece com uma tarefa simples, confirme que o registro mostra a execução e só então agende as mais importantes.