Comment planifier une tâche dans Linux?

Comment planifier une tâche dans Linux?
Chaque fois que vous utilisez un système d'exploitation basé sur UNIX, certaines tâches doivent être effectuées à plusieurs reprises. Les faire fonctionner manuellement à chaque fois est long et globalement inefficace. Pour résoudre ce problème, Unix est livré avec ses planificateurs de tâches intégrés. Ces planificateurs de tâches agissent comme un réveil intelligent. Lorsque l'alarme se déclenche, le système d'exploitation exécutera la tâche prédéfinie.

Dans le cas de Linux, il est livré avec deux outils de base mais puissants: Cron Daemon (Planiseur de tâches par défaut) et AT (plus adapté à la planification des tâches unique).

Dans ce guide, consultez comment planifier une tâche dans Linux.

Planifiez les tâches dans Linux

Cron
Le Cron Daemon est responsable de la gestion de nombreux emplois à des moments précis. Ces tâches sont généralement exécutées en arrière-plan à des heures prévues. Il offre une grande flexibilité quelle que soit la tâche, quel que soit l'intervalle (heure, semaine, mois, année ou autre).

Cron garde une trace de ses actions en utilisant le fichier crontab. Le fichier crontab est un script qui contient toutes les informations nécessaires pour exécuter tous les travaux cron.

Jetons un coup d'œil à une partie de l'utilisation de base de Cron. Dans le cas de l'une des commandes suivantes, il sera configuré pour l'utilisateur racine s'il est exécuté avec le privilège sudo. Pour la démonstration, j'ai attrapé un exemple de fichier crontab à partir d'ici.

Pour répertorier tous les travaux CRON planifiés pour l'utilisateur actuel, exécutez la commande suivante. Il imprimera tout le contenu du fichier crontab.

$ crontab -l


Je veux la liste des travaux Cron pour un autre utilisateur? Exécutez cette commande à la place.

$ sudo crontab -u -l


Pour modifier le script Crontab, exécutez la commande. Pour modifier le fichier crontab pour root, exécutez la commande suivante avec Sudo Privilege.

$ crontab -e


Chaque ligne du script crontab définit une tâche. Voici une ventilation rapide des entrées Crontab.

$

Voici une liste de toutes les valeurs possibles pour tous ces champs. Si vous utilisez un astérisque (*) au lieu d'une valeur numérique, chaque valeur possible du champ sera utilisée.

  • Minute: 0 à 59
  • Heures: 0 à 23
  • Jour du mois: 1 à 31
  • mois: 1 à 12
  • Jour de la semaine: 0 (dimanche) à 6 (samedi)

Pour un guide approfondi sur la façon d'utiliser Crontab pour automatiser les tâches, consultez comment configurer des travaux CRON à Linux. Voici un autre exemple rapide d'un travail cron en cours d'exécution à chaque minute.

à
Alors que Cron est le principal moyen de planification des tâches, chez offre, la possibilité d'exécuter une commande / script à un moment précis ou à un intervalle fixe, notez qu'AT exécutera le travail cible une fois tandis que Cron réviserait le travail à l'intervalle. L'outil AT est moins populaire par rapport à Cron, mais il est relativement plus facile à utiliser. Vous pouvez utiliser certains mots clés comme minuit ou l'heure du pouce (4 P.M.).

Cet outil n'est pas préinstallé dans la plupart des distros Linux. Pour installer, exécutez la commande appropriée en fonction de votre distribution.

Pour Debian / Ubuntu et dérivés.

$ Sudo apt install -y à


Pour Centos / Rhel et dérivés.

$ Yum Installer à

Pour Arch Linux et dérivés.

$ sudo pacman -s à

Pour fedora et dérivés.

$ sudo dnf installer à

Une fois l'installation terminée, activez le démon AT.

$ sudo systemctl Active --now ATD.service


La voie aux travaux est un peu différente. Chaque fois que vous appelez, vous devez définir l'intervalle de l'exécution de la tâche souhaitée. Par exemple, pour exécuter une certaine commande après une heure, utilisez la commande suivante.

$ à maintenant + 1 heure


Pour exécuter la tâche souhaitée à 6 p.M., Dans six jours, exécutez la commande suivante à la place.

$ à 18h + 6 jours


Lorsque vous exécutez la commande, AT demandera à la ou des commandes d'exécuter. Pour quitter l'invite AT, appuyez sur «Ctrl + D."At Will présente un résumé des tâches prévues et de l'heure à laquelle ils seront exécutés.

C'est juste une utilisation de base. Une manière plus cohérente d'utiliser AT pourrait être l'exécution d'un script bash contenant toutes les tâches qui doivent être effectuées. Intéressé à en savoir plus sur les scripts bash? Vérifier

$ à 18 h + 6 jours -ff


Exécutez la commande pour répertorier tous les travaux en attente.

$ atq


Notez que la sortie répertorie tous les travaux avec un numéro de référence spécifique dans la colonne de gauche. Dans le cas où vous souhaitez supprimer un travail en file d'attente, utilisez la commande suivante.

$ ATRM

Dernières pensées

La planification d'une tâche, dans le cas de Linux, est un travail très simple. L'apprendre pour la première fois nécessite définitivement un peu d'effort. Cependant, une fois appris, cela peut être incroyablement utile. Une fois configurés, les tâches planifiées continueront de fonctionner.

Happy Computing!