systemd, alternative Linux à Task Scheduler
Mis à jour le
Notre avis
systemd peut remplacer le Planificateur de tâches Windows pour les utilisateurs à l'aise avec les fichiers d'unité et les outils en ligne de commande. Il couvre la plupart des besoins de planification — basés sur l'heure, les intervalles, les événements et les tâches système — tout en ajoutant l'intégration avec le système d'initialisation et la journalisation. Il est le mieux adapté aux administrateurs système et aux utilisateurs avancés ; les utilisateurs occasionnels peuvent trouver la courbe d'apprentissage plus raide que l'interface graphique de Windows.
- Licence
- GPL-3.0
- Prix
- Gratuit
- Dernière version
- 262.1
- Note
- —
Ce qui fonctionne pareil
- Les deux permettent de planifier des tâches à des heures ou à des intervalles spécifiques
- Les deux prennent en charge l'exécution de scripts ou de binaires
- Les deux peuvent exécuter des tâches sans connexion utilisateur
- Les deux fournissent la journalisation de l'exécution des tâches
- Les deux peuvent déclencher des tâches en fonction d'événements système
Ce qui change
- systemd nécessite l'écriture de fichiers d'unité dans un format déclaratif, et non via une interface graphique
- Les minuteries systemd ne sont pas un remplacement direct pour toute la syntaxe cron (par exemple, pas d'abréviation @reboot)
- systemd ne dispose pas d'un éditeur graphique intégré pour les minuteries
- systemd s'intègre au système d'initialisation, de sorte que les modifications affectent l'ordre de démarrage
- systemd n'exporte pas et n'importe pas directement les fichiers .job de Windows
Ouvrir vos fichiers Task Scheduler
Il n'existe pas d'outil natif pour importer les fichiers XML du Planificateur de tâches Windows dans systemd. Vous devrez recréer manuellement l'horaire à l'aide de fichiers d'unité systemd.timer ou convertir via un script personnalisé. L'exportation depuis systemd vers un format compatible Windows n'est pas non plus disponible par défaut.
Passer de Task Scheduler à systemd, étape par étape
- 1. Identifiez la tâche Windows que vous souhaitez déplacer et notez son déclencheur, son action et ses conditions.
- 2. Créez une unité de service systemd (.service) qui exécute la commande ou le script souhaité.
- 3. Créez une unité de minuterie systemd (.timer) qui correspond au déclencheur (par exemple, OnCalendar= pour l'heure, OnBootSec= pour le démarrage).
- 4. Activez la minuterie avec
systemctl enable --now <timer>.timeret vérifiez avecsystemctl list-timers. - 5. Consultez les journaux avec
journalctl -u <service>pour confirmer l'exécution. - 6. Désactivez ou supprimez l'ancienne tâche Windows pour éviter les exécutions en double.
Fonctionnalités clés de systemd
- Fichiers unit déclaratifs pour les services, les sockets et les minuteurs
- Démarrage parallèle des services
- Activation à la demande via les sockets
- Journalisation intégrée avec journalctl
- Isolation des ressources basée sur cgroups
- Gestion dynamique des dépendances
- Prise en charge des minuteurs comme alternative à cron
Installer systemd sous Linux
sudo apt install systemdsudo apt install systemdsudo dnf install systemdsudo pacman -S lib32-systemdsudo zypper install systemdQuestions fréquentes
systemd peut-il exécuter une tâche uniquement lorsqu'un service spécifique démarre ?
Oui. Utilisez PartOf= ou After= dans l'unité de service pour lier la minuterie au service, ou utilisez une unité de socket pour déclencher au démarrage du service.
La minuterie de systemd est-elle plus fiable que cron ?
Les minuteries sont gérées par le même processus qui démarre les services, elles bénéficient donc de la gestion des dépendances et de la bascule de systemd. Cependant, pour des tâches cron ponctuelles simples, cron reste une option légère.
Dois-je me connecter pour exécuter une minuterie systemd ?
Non. Les minuteries peuvent être configurées pour s'exécuter en tant que root ou n'importe quel utilisateur, et elles fonctionnent indépendamment des sessions utilisateur.