Skip to content

Agendador de tarefas ​

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

Exemplos de cenários deste recurso:

  • Backup agendado de distribuições no WSL
  • Executar scripts ou comandos personalizados

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

Repositório de scripts da comunidade ​

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

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

Este é um repositório construído colaborativamente pelos usuários; fique à vontade para enviar um Pull Request para contribuir com scripts ou compartilhar melhores práticas.

Executar comandos ​

Configuração do comando ​

Cada tarefa agendada pode ser configurada com o comando a ser executado (script ou programa executável), com as seguintes opções:

Item de configuraçãoDescrição
Comando a executarO caminho do script ou programa executável a ser executado; suporta formatos como .bat, .ps1, .cmd, .exe, .py. Você pode selecionar o arquivo pelo botão "Procurar".
Parâmetros do comandoParâmetros adicionais passados ao comando; opcional.
Privilégios de administradorQuando marcado, a tarefa será executada com privilégios máximos; adequado para operações que exigem elevação de UAC.

Operações com tarefas ​

Depois de criar a tarefa, você pode executar as seguintes operações:

OperaçãoDescrição
Executar agoraForça a execução imediata da tarefa, sem respeitar as regras de agendamento.
Habilitar/DesabilitarPausa ou retoma o agendamento automático da tarefa.
ExcluirRemove 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 as regras de execução, no seguinte formato:

minuto hora dia mês dia-da-semana
CampoIntervalo de valoresDescrição
Minuto0 - 59Em qual minuto de cada hora executar
Hora0 - 23Em qual hora de cada dia executar
Dia1 - 31Em qual dia de cada mês executar
Mês1 - 12Em qual mês de cada ano executar
Dia da semana0 - 70 e 7 representam domingo

Cada campo suporta a seguinte sintaxe:

  • * — corresponde a todos os valores (por exemplo, * * * * * significa executar a cada minuto)
  • */N — executar a cada N unidades (por exemplo, */5 * * * * significa executar a cada 5 minutos)
  • Um número único — corresponde a um valor específico (por exemplo, 0 9 * * 1 significa executar às 9:00 de toda segunda-feira)

Nota: não são suportados múltiplos valores separados por vírgula (como 1,15) nem expressões de intervalo (como 1-5); para mais limitações, consulte as Notas abaixo.

Padrões de combinação suportados ​

Este software não executa um daemon Cron nativo; em vez disso, traduz a expressão Cron em parâmetros de gatilho das tarefas agendadas do Windows (schtasks.exe). Para um mapeamento preciso, o analisador suporta apenas de forma fixa os seguintes 7 padrões de combinação, que cobrem a grande maioria dos cenários de tarefas agendadas:

#PadrãoDescriçãoCenários de uso
1* * * * *Executar a cada minutoTarefas de monitoramento e 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 (como 3 * * * *)Tarefas em hora cheia
4M H * * *Executar às H:M todos os dias (como 0 3 * * *)Manutenção diária, como limpar logs nas madrugadas
5M H * * DOWExecutar às H:M em um dia específico da semana (como 0 12 * * 1)Tarefas semanais, como backup de dados toda segunda-feira
6M H D * *Executar às H:M em uma data específica de cada mêsTarefas mensais, como gerar relatórios no dia 1 de cada mês
7M H D MON *Executar às H:M em um mês e data específicos de cada anoTarefas anuais, como executar em um mês determinado

Se a expressão não pertencer aos 7 padrões acima, o sistema a considerará Unsupported cron pattern e recusará a criação.

Notas ​

Como a implementação subjacente é baseada nas tarefas agendadas do Windows, o analisador Cron deste software tem as seguintes diferenças em relação ao Cron padrão do Linux:

1. Não suporta listas (,) e intervalos (-) ​

O Cron padrão permite definir vários pontos discretos de tempo com vírgulas (como 1,15,30 * * * * significa nos minutos 1, 15 e 30) ou definir intervalos com hífen (como 1-5 * * * * significa do minuto 1 ao 5).

Limitação deste software: cada campo só pode conter um número único, asterisco (*) ou passo (*/N); não são suportadas vírgulas nem hífens.

2. Não suporta combinação livre ​

O Cron padrão permite a combinação livre de qualquer campo (como * 3 * * * significa cada minuto da hora das 3 da manhã), mas este software suporta apenas os 7 padrões fixos listados acima; expressões fora desse intervalo serão rejeitadas.

3. Diferença de alinhamento de tempo no modo de passo ​

No Cron padrão, */5 * * * * se alinha estritamente aos minutos 0, 5, 10, 15... do relógio. Este software o traduz nos parâmetros /SC MINUTE /MO 5 do Windows; a lógica do Windows é calcular o intervalo a partir do momento em que a tarefa é criada ou habilitada.

Por exemplo, se você salvar e habilitar 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 se alinhar ao 10:05 do relógio padrão.