Skip to content

Introdução ao Task Scheduler ​

O Task Scheduler (Agendador de tarefas) é usado para automatizar tarefas periódicas no WSL, evitando operações de manutenção manuais repetitivas. Ele fornece uma interface de gerenciamento visual que permite criar e gerenciar tarefas agendadas sem precisar memorizar parâmetros complexos de linha de comando.

Exemplos de uso:

  • Fazer backup regular das distribuições WSL
  • Executar scripts ou comandos personalizados

Todas as tarefas são organizadas em \WSLDashboard\UserTasks\ no Agendador de Tarefas do Windows para gerenciamento centralizado. Você pode visualizar o status em tempo real das tarefas (Pronto / Em execução / Desabilitado) na interface.

Repositório de scripts da comunidade ​

Você pode baixar scripts de exemplo (backup de distribuição) do repositório da comunidade abaixo para começar rapidamente:

https://github.com/owu/wsl-community

Este é um repositório de código construído por usuários. Sinta-se à vontade para enviar um Pull Request para contribuir com scripts ou compartilhar boas práticas.

Executar comando ​

Configuração do comando ​

Cada tarefa agendada pode ser configurada com um comando (script ou executável), com suporte para as seguintes opções:

ConfiguraçãoDescrição
ComandoCaminho do script ou executável. Suporta formatos .bat, .ps1, .cmd, .exe, .py. Use o botão "Procurar" para selecionar um arquivo.
ArgumentosArgumentos adicionais para passar ao comando, opcional.
Privilégios de administradorQuando ativado, a tarefa é executada com privilégios máximos, adequado para operações que exigem elevação UAC.

Operações da tarefa ​

Após criar uma tarefa, você pode realizar as seguintes operações:

AçãoDescrição
Executar agoraForçar a execução imediata da tarefa, independentemente do agendamento.
Ativar/DesativarPausar ou retomar o agendamento automático da tarefa.
ExcluirRemover a tarefa do Agendador de Tarefas.

Regras de agendamento ​

Expressão Cron ​

O agendamento de tarefas usa a expressão Cron padrão de 5 campos para definir regras de execução, no seguinte formato:

minuto hora dia mês dia_da_semana
CampoIntervaloDescrição
minuto0 - 59O minuto da hora para executar
hora0 - 23A hora do dia para executar
dia1 - 31O dia do mês para executar
mês1 - 12O mês do ano para executar
dia_da_semana0 - 70 e 7 representam domingo

Cada campo suporta a seguinte sintaxe:

  • * — Corresponde a todos os valores (ex.: * * * * * significa a cada minuto)
  • */N — A cada N unidades (ex.: */5 * * * * significa a cada 5 minutos)
  • Número único — Corresponde a um valor específico (ex.: 0 9 * * 1 significa toda segunda-feira às 9:00)

Nota: Valores separados por vírgula (ex.: 1,15) e expressões de intervalo (ex.: 1-5) não são suportados. Consulte a seção Observações para mais limitações.

Padrões de combinação suportados ​

Este software não executa um daemon Cron nativo. Em vez disso, ele traduz expressões Cron para parâmetros de gatilho do Agendador de Tarefas do Windows (schtasks.exe). Para um mapeamento preciso, o analisador possui apenas os seguintes 7 padrões de combinação codificados, cobrindo a grande maioria dos cenários de tarefas agendadas:

#PadrãoDescriçãoCenários de uso
1* * * * *Executar a cada minutoMonitoramento, tarefas de detecção em tempo real
2*/N * * * *Executar a cada N minutosTarefas de verificação periódica
3M * * * *Executar no minuto M de cada hora (ex.: 3 * * * *)Tarefas horárias
4M H * * *Executar diariamente às H:M (ex.: 0 3 * * *)Manutenção diária, como limpar logs de madrugada
5M H * * DOWExecutar em um dia específico da semana às H:M (ex.: 0 12 * * 1)Tarefas semanais, como backup toda segunda-feira
6M H D * *Executar em uma data específica do mês às H:MTarefas mensais, como gerar relatório no dia 1
7M H D MON *Executar em um mês e dia específicos do ano às H:MTarefas anuais, como executar em um mês específico

Se a expressão não se enquadrar em nenhum dos 7 padrões acima, o sistema a considerará como Unsupported cron pattern e recusará a criação.

Observações ​

Como a implementação é baseada no Agendador de Tarefas do Windows, o analisador Cron deste software difere do Cron Linux padrão nos seguintes aspectos:

1. Listas (,) e intervalos (-) não suportados ​

O Cron padrão permite definir múltiplos pontos de tempo discretos com vírgulas (ex.: 1,15,30 * * * * significa nos minutos 1, 15 e 30) ou intervalos com hífen (ex.: 1-5 * * * * significa minutos 1 a 5).

Limitação deste software: Cada campo pode conter apenas um número único, asterisco (*) ou passo (*/N). Vírgulas e hífens não são suportados.

2. Combinações livres não suportadas ​

O Cron padrão permite combinações arbitrárias de campos (ex.: * 3 * * * significa a cada minuto das 3:00 às 3:59), mas este software suporta apenas os 7 padrões fixos listados acima. Expressões fora desses padrões serão rejeitadas.

3. Diferença de alinhamento temporal em padrões de passo ​

No Cron padrão, */5 * * * * é estritamente alinhado aos minutos 0, 5, 10, 15... do relógio. Este software traduz isso para o parâmetro /SC MINUTE /MO 5 do Windows. O Windows calcula o intervalo a partir do momento em que a tarefa é criada ou ativada.

Por exemplo, se você salvar e ativar uma tarefa que executa a cada 5 minutos às 10:02, ela será executada pela primeira vez às 10:07, depois às 10:12, em vez de alinhada ao 10:05 do relógio padrão.