Skip to content

Présentation de la fonctionnalité Task Scheduler

Le Task Scheduler (Planificateur de tâches) est utilisé pour automatiser les tâches périodiques dans WSL, évitant ainsi les opérations de maintenance manuelle répétitives. Il fournit une interface de gestion visuelle qui vous permet de créer et de gérer des tâches planifiées sans avoir à mémoriser des paramètres de ligne de commande complexes.

Exemples de scénarios d'utilisation de cette fonctionnalité :

  • Sauvegarder régulièrement les distributions WSL
  • Exécuter des scripts ou commandes personnalisés

Toutes les tâches sont regroupées sous le chemin \WSLDashboard\UserTasks\ du Planificateur de tâches Windows pour une gestion et une visualisation centralisées. Vous pouvez consulter l'état en temps réel des tâches (Prêt / En cours d'exécution / Désactivé) dans l'interface.

Scripts communautaires

Vous pouvez télécharger des exemples de scripts (sauvegarde de distributions) depuis le dépôt communautaire pour démarrer rapidement :

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

Il s'agit d'un dépôt de code piloté par la communauté. Les Pull Requests sont les bienvenues pour contribuer des scripts ou partager les bonnes pratiques.

Exécuter une commande

Configuration de la commande

Chaque tâche planifiée peut être configurée avec une commande (script ou exécutable) prenant en charge les options suivantes :

ParamètreDescription
CommandeChemin d'accès au script ou à l'exécutable. Prend en charge les formats .bat, .ps1, .cmd, .exe, .py. Utilisez le bouton "Parcourir" pour sélectionner un fichier.
ArgumentsArguments supplémentaires à transmettre à la commande, facultatifs.
Exécuter avec les privilèges d'administrateurLorsqu'elle est activée, la tâche s'exécute avec les privilèges les plus élevés, adaptée aux opérations nécessitant une élévation UAC.

Opérations sur les tâches

Après avoir créé une tâche, vous pouvez effectuer les opérations suivantes :

ActionDescription
Exécuter maintenantForcer l'exécution immédiate de la tâche, indépendamment des règles de planification.
Activer/DésactiverMettre en pause ou reprendre la planification automatique de la tâche.
SupprimerSupprimer la tâche du Planificateur de tâches.

Règles de planification

Expression Cron

La planification des tâches utilise l'expression Cron standard à 5 champs pour définir les règles d'exécution :

minute heure jour mois jour_semaine
ChampPlageDescription
minute0 - 59La minute de l'heure à laquelle exécuter
heure0 - 23L'heure du jour à laquelle exécuter
jour1 - 31Le jour du mois auquel exécuter
mois1 - 12Le mois de l'année auquel exécuter
jour_semaine0 - 7Jour de la semaine (0 et 7 représentent tous deux dimanche)

Chaque champ prend en charge la syntaxe suivante :

  • * — Correspond à toutes les valeurs (par exemple, * * * * * signifie toutes les minutes)
  • */N — Toutes les N unités (par exemple, */5 * * * * signifie toutes les 5 minutes)
  • Un seul nombre — Correspond à une valeur spécifique (par exemple, 0 9 * * 1 signifie tous les lundis à 9 h 00)

Remarque : Les valeurs multiples séparées par des virgules (comme 1,15) et les expressions de plage (comme 1-5) ne sont pas prises en charge. Pour plus de limitations, voir Remarques importantes ci-dessous.

Modes de combinaison pris en charge

Ce logiciel n'exécute pas de démon Cron natif. Il traduit plutôt les expressions Cron en paramètres de déclencheur du Planificateur de tâches Windows (schtasks.exe). Pour garantir un mappage précis, l'analyseur ne prend en charge que les 7 modes de combinaison suivants, couvrant la plupart des scénarios de tâches planifiées :

#ModeDescriptionCas d'utilisation
1* * * * *Exécuter chaque minuteTâches de surveillance et de détection en temps réel
2*/N * * * *Exécuter toutes les N minutesTâches de vérification périodique
3M * * * *Exécuter à la minute M de chaque heure (p. ex. 3 * * * *)Tâches horaires
4M H * * *Exécuter tous les jours à H:M (p. ex. 0 3 * * *)Maintenance quotidienne, p. ex. nettoyer les journaux à minuit
5M H * * DOWExécuter à H:M un jour spécifique de la semaine (p. ex. 0 12 * * 1)Tâches hebdomadaires, p. ex. sauvegarder les données chaque lundi
6M H D * *Exécuter à H:M un jour spécifique du moisTâches mensuelles, p. ex. générer des rapports le 1er
7M H D MON *Exécuter à H:M un mois et un jour spécifiquesTâches annuelles, p. ex. exécuter un mois spécifique

Si l'expression ne correspond à aucun des 7 modes ci-dessus, le système la rejettera comme Unsupported cron pattern.

Remarques importantes

Étant donné que l'implémentation est basée sur le Planificateur de tâches Windows, l'analyseur Cron de ce logiciel diffère du Cron Linux standard sur les points suivants :

1. Listes (,) et plages (-) non prises en charge

Le Cron standard permet de définir plusieurs points temporels discrets avec des virgules (p. ex. 1,15,30 * * * * signifie aux minutes 1, 15 et 30), ou des plages avec des traits d'union (p. ex. 1-5 * * * * signifie les minutes 1 à 5).

Limitation de ce logiciel : Chaque champ ne peut contenir qu'un seul nombre, un astérisque (*) ou une valeur de pas (*/N). Les virgules et les traits d'union ne sont pas pris en charge.

2. Combinaisons libres non prises en charge

Le Cron standard permet des combinaisons arbitraires de champs (p. ex. * 3 * * * signifie chaque minute pendant l'heure de 3 h). Cependant, ce logiciel ne prend en charge que les 7 modes fixes listés ci-dessus. Les expressions hors de cette plage seront rejetées.

3. Différence d'alignement temporel dans les modes de pas

Dans le Cron standard, */5 * * * * s'aligne strictement sur les minutes 0, 5, 10, 15.... Ce logiciel le traduit en paramètre Windows /SC MINUTE /MO 5. Windows calcule l'intervalle à partir du moment de la création ou de l'activation de la tâche.

Par exemple, si vous enregistrez et activez une tâche qui s'exécute toutes les 5 minutes à 10:02, elle s'exécutera d'abord à 10:07, puis à 10:12, au lieu de s'aligner sur 10:05 de l'horloge standard.