Comment exécuter automatiquement un planificateur cron dans WSL sous Windows 10 et Windows 11

Windows a plusieurs façons automatiser les tâches. L'outil le plus courant est un programme Planificateur de tâches Windows , mais si vous utilisez le sous-système Windows pour Linux (WSL), il existe également un démon cron qui exécute des tâches en arrière-plan pour installer WSL.

Comment exécuter un planificateur cron automatique dans WSL sous Windows 10 et Windows 11 - %categories

Le planificateur n'est pas activé par défaut

Dans Windows 10 et Windows 11, le planificateur cron est intégré aux environnements Linux comme Ubuntu. Le problème est que WSL ne démarre pas cron automatiquement, ce qui signifie que vos tâches automatisées ne sont pas exécutées par défaut.

Pour résoudre ce problème, vous pouvez démarrer cron manuellement chaque fois que vous ouvrez la ligne de commande, mais le démarrage d'un outil censé effectuer automatiquement des tâches n'est pas pertinent.

Heureusement, il existe un moyen simple de résoudre ce problème, et cela nécessite l'utilisation d'un planificateur de tâches.

Comment exécuter un planificateur cron automatique dans WSL sous Windows 10 et Windows 11 - %categories

Si vous n'avez jamais utilisé le planificateur cron sous Linux pour exécuter des tâches, consultez notre précédent didacticiel sur la façon de planifier des tâches sous Linux. Pour nos besoins ici, nous supposerons que vous avez déjà créé des tâches cron dans votre installation WSL et que vous avez besoin d'aide pour vous assurer qu'il fonctionne au lieu de garder cron tout le temps.

Dans ce didacticiel, nous utiliserons le service sudo pour vérifier et démarrer cron, qui est la méthode recommandée pour arrêter et démarrer les services dans les versions récentes d'Ubuntu - la distribution WSL la plus populaire.

Notez également que ce tutoriel suppose que vous disposez des droits d'administrateur sur votre version de WSL. Si vous êtes le seul utilisateur de votre ordinateur et que vous activez vous-même WSL, vous disposez des droits d'administrateur.

Lisez aussi:  Comment trier les fichiers Windows 10 numériquement et par taille

Astuce: Cela fonctionne également dans le sous-système Windows pour Linux sous Windows 11 - pas seulement sous Windows 10.

Préparation Linux

La première chose que nous devons faire est d'autoriser l'ordinateur à démarrer le planificateur cron sans mot de passe. Lors du démarrage d'un service comme cron, vous pouvez utiliser la commande sudo service cron start. Mais cette commande nécessite un mot de passe auquel Windows ne pourra pas accéder au démarrage. Le moyen de contourner cela est de désactiver l'exigence de mot de passe pour cette commande.

Pour ce faire, ouvrez une fenêtre de terminal WSL et tapez sudo visudo. Appuyez sur Entrée sur votre clavier, entrez votre mot de passe Linux et appuyez à nouveau sur la touche Entrée. Si vous utilisez Ubuntu, cela ouvrira le fichier 'sudoers' avec l'éditeur de texte en ligne de commande Nano, convivial pour les débutants. Sudoers est un fichier pour les administrateurs système qui peut modifier les privilèges et les droits d'accès des utilisateurs.

Ajoutez la commande suivante au bas du fichier sudoers, puis appuyez sur Ctrl + o pour enregistrer et Ctrl + x pour quitter le fichier.

%sudo ALL=NOPASSWD: /usr/sbin/service cron start

Cette commande sudoers indique que tout utilisateur disposant de privilèges suffisants pour utiliser la commande sudo (qui devrait vous inclure) n'a pas besoin de mot de passe pour exécuter la commande sudo service cron start, qui démarre le démon cron.

Après avoir enregistré le fichier, vous pouvez vérifier que la commande fait son travail en tapant sudo service cron start , et elle devrait démarrer cron sans demander le mot de passe. Si cela fonctionne, désactivons à nouveau cron afin que nous puissions tester que la tâche que nous créons à l'étape suivante fonctionne correctement. Pour ce faire, veuillez exécuter sudo service cron stop.

Lisez aussi:  Correction de la sécurité Windows qui ne s'ouvre pas ou ne fonctionne pas sur Windows 11

Configurer le planificateur Cron dans le planificateur de tâches Windows

Il s'agit de la première étape de notre cheminement vers l'automatisation cron. Passons à la partie 2 avec le planificateur de tâches. Appuyez sur la touche Windows de votre clavier, puis recherchez "Planificateur de tâches. Exécuter un raccourciPlanificateur de tâches" .

Comment exécuter un planificateur cron automatique dans WSL sous Windows 10 et Windows 11 - %categories

Au démarrage, regardez sous la section "procédures" Et sélectionnez "Créer une tâche de base" .

Comment exécuter un planificateur cron automatique dans WSL sous Windows 10 et Windows 11 - %categories

Cela ouvre l'assistant des tâches de base. Tout d'abord, il vous demandera de nommer et de décrire la tâche. Vous pouvez entrer ce que vous voulez ici. Nous avons lancé la mission "cron" , la description est "Une tâche pour démarrer cron au démarrage du système." Maintenant, appuyez sur "Suivant."

Dans la section suivante, nous nous mettons au travail. Tout d'abord, Windows veut savoir quand nous voulons exécuter la tâche. Choisissez le bouton radioLorsque l'ordinateur démarreet cliquez "Suivant."

Comment exécuter un planificateur cron automatique dans WSL sous Windows 10 et Windows 11 - %categories

Dans la section suivante, nous voulons « Démarrer un programme ». Cette option est sélectionnée par défaut, alors cliquez sur "Suivant."

Comment exécuter un planificateur cron automatique dans WSL sous Windows 10 et Windows 11 - %categories

Maintenant, nous devons sélectionner le programme que nous voulons exécuter, qui est WSL. Entrez ce qui suit dans la zone de saisie de texte « Program/script » : C:\Windows\System32\wsl.exe

Nous devons également ajouter quelques arguments, car tout ce que nous avons fait jusqu'à présent est de démarrer WSL, mais à l'intérieur de WSL, nous devons dire à Ubuntu de démarrer cron. Ainsi, dans la zone Ajouter un média, ajoutez :

Lisez aussi:  Les 8 meilleures façons de réparer l'application de messagerie n'affichant pas tous les e-mails sous Windows 10/11

sudo /usr/sbin/service cron start

Comment exécuter un planificateur cron automatique dans WSL sous Windows 10 et Windows 11 - %categories

Clique sur "le prochain" Encore une fois, cochez la case qui dit "La boîte de dialogue Propriétés s'ouvre lorsque vous cliquez sur TerminerEt puis cliquez "fin".

Comment exécuter un planificateur cron automatique dans WSL sous Windows 10 et Windows 11 - %categories

La tâche est créée, mais nous devons faire une dernière chose pour nous assurer que tout fonctionne. Une nouvelle fenêtre s'ouvrira montrant un résumé de la tâche que vous avez créée, mais elle est configurée pour s'exécuter uniquement lorsque vous avez enregistré votre entrée. Nous devons sélectionner le bouton radio qui dit "TExécuter que l'utilisateur soit connecté ou nonA", puis appuyez sur OK.

Maintenant, testons notre tâche de deux manières. Tout d'abord, dans la fenêtre principale du planificateur de tâches, faites défiler vers le bas jusqu'à ce que vous voyiez le nom de votre tâche. Si vous utilisez le nom « cron scheduler », il devrait se trouver en haut de la liste. Cliquez avec le bouton droit sur la tâche et sélectionnez Exécuter.

Comment exécuter un planificateur cron automatique dans WSL sous Windows 10 et Windows 11 - %categories

Ensuite, revenez à votre terminal WSL et tapez l'état du service sudo cron, il devrait dire que cron est en cours d'exécution. Si ce n'est pas le cas, vérifiez que vous avez tout saisi correctement dans les étapes précédentes.

Si tout fonctionne correctement au premier scan, c'est l'heure du grand test. Redémarrez l'ordinateur et, à votre retour, ouvrez le terminal WSL et exécutez l'état du service sudo cron, qui devrait indiquer que cron est en cours d'exécution.

notre fin ! Vous avez fait votre premier pas dans un monde robotique plus vaste. Avec cron exécuté en arrière-plan, les tâches cron que vous configurez dans WSL s'exécuteront automatiquement dans les délais.

Vous pourriez l'aimer aussi