Comment planifier des tâches futures sous Linux

, Comment planifier des tâches futures sous Linux, Nouvel hébergement de blog, Nouvel hébergement de blog

Assistance NBH
Sans commentaires

En tant qu'administrateur système, la chose la plus importante a été d'exécuter une tâche ou un ensemble de tâches à un moment donné dans le futur. Cela se produit généralement dans un environnement de production où les travaux sont destinés à être exécutés simultanément ou à un moment donné dans le futur. Cela vous évite d'exécuter des tâches manuellement, car celles-ci peuvent être définies comme une tâche unique ou être exécutées périodiquement en fonction d'un calendrier prédéfini. Par exemple, vous pouvez planifier une sauvegarde pour qu'elle s'exécute quotidiennement, hebdomadairement ou mensuellement afin d'améliorer les performances et de réduire l'effort manuel dans l'organisation

Les systèmes d'exploitation Linux ont ces démons intégrés pour la planification de tâches récurrentes et ponctuelles:crond et atd. le cron La commande est utilisée pour exécuter des travaux récurrents, c'est-à-dire les travaux que vous souhaitez exécuter à chaque fois dans un délai prédéfini à La commande est utilisée pour exécuter une tâche unique à l'avenir. Ce sont des tâches que vous souhaitez exécuter au cours du week-end mais qui ne doivent pas être répétées chaque semaine. Il existe une autre commande appelée anacron, qui est similaire à la cron commander. Ils sont tous deux utilisés pour exécuter des travaux récurrents mais légèrement différents dans leurs fonctions. Dans cet article, nous examinerons en détail les différences entre les deux commandes.

Pendant ce temps, cet article vous aidera à comprendre comment planifier une tâche unique et récurrente sous Linux pour effectuer des sauvegardes de routine et une maintenance générale sur votre serveur.

COMMENT PLANIFIER UNE TÂCHE UNIQUE

L'une des options disponibles pour les administrateurs système Linux est la à pour les aider à planifier une tâche future unique. le à commande fonctionne sur un démon appelé atd, et il est accompagné d'autres commandes telles que le atq, at, et beaucoup plus. Dans certains systèmes Linux comme les systèmes basés sur RedHat, le atd le démon sera installé par défaut tandis que d'autres l'auront installé avant de pouvoir utiliser le à pour planifier des travaux. Pour ce faire, exécutez le miam installer à sur les systèmes basés sur Redhat ou installer apt-get à sur les systèmes basés sur Debian.

Une fois le programme installé, vous devez démarrer et activer le atd démon avec privilège root pour lui permettre de démarrer automatiquement au démarrage du système. Cela peut être fait en exécutant systemctl enable – -now atd.service

Pour planifier un nouveau travail, la commande suit la syntaxe à . Cela lira vos instructions de la stdin. Vous pouvez également écrire toutes vos instructions sur un fichier de script et utiliser la clé de redirection d'entrée pour pointer vers le fichier de script, qui sera exécuté à l'aide du à commander. Par exemple, maintenant + 5min <myscript. Cela vous fait gagner du temps lors de la saisie de vos commandes sur le terminal.

Dans une situation où vous choisissez de taper votre commande sur le terminal, une fois que vous avez tapé la commande, le à shell s'ouvrira pour que vous puissiez saisir vos instructions. Après avoir entré votre ensemble d'instructions, appuyez sur la touche Ctrl + D pour terminer votre saisie.

Donnons-en un exemple pratique.

, Comment planifier des tâches futures sous Linux, Nouvel hébergement de blog, Nouvel hébergement de blog

Vous pouvez voir à partir de la commande ci-dessus; J'ai configuré le système pour redémarrer mon service réseau dans 5 minutes. Dans la deuxième commande, j'ai conservé ma commande dans un script et j'ai fait la commande pour exécuter la commande à partir d'un script de fichier. Notez que vous devez rendre le fichier de script exécutable en utilisant le chmod commande comme vu ci-dessus

le peut être spécifié dans de nombreux formulaires qui permettent à l'administrateur d'avoir une manière libre d'exprimer comment le travail doit être exécuté.

Le temps peut suivre dans ce format comme 12h00, 16h40, et une date facultative ou un nombre de jours dans le futur.

Les temps suivants sont les plus utilisés

Maintenant + 5min

Maintenant +6 semaines

Heure du thé demain (l'heure du thé signifie 16h00)

19 h 5 juillet 2019

Midi +6 jours

Pour plus de clarté, donnons un exemple en utilisant l'un des délais suivants

, Comment planifier des tâches futures sous Linux, Nouvel hébergement de blog, Nouvel hébergement de blog

COMMENT INSPECTER ET GÉRER LES EMPLOIS

Pour obtenir un aperçu du travail à exécuter, vous utilisez le à –l ou la atq commander. L'utilisation de l'une des commandes vous présentera le travail à exécuter avec son numéro de travail

L'exécution de la commande vous donnera les sorties suivantes, comme indiqué ci-dessous. Ne vous inquiétez pas; Je vais expliquer chaque colonne pour une meilleure compréhension de votre sortie

, Comment planifier des tâches futures sous Linux, Nouvel hébergement de blog, Nouvel hébergement de blog

La première colonne de la sortie affiche le numéro du travail.

La deuxième colonne indique la date et l'heure auxquelles le travail doit être exécuté

La troisième colonne affiche la file d'attente pour le travail.

Le quatrième montre le propriétaire du travail

Veuillez noter que les utilisateurs réguliers peuvent voir et gérer leurs propres travaux, mais l'utilisateur root a tous les privilèges pour afficher et gérer tous les travaux.

COMMENT INSPECTER LA COMMANDE RÉELLE À EXÉCUTER

Outre l'inspection du travail à exécuter, vous pouvez également examiner les instructions qui seront exécutées une fois la commande exécutée. Pour cela, utilisez le à – c, suivi du numéro de travail. La sortie affichera l'environnement en cours de configuration pour refléter l'environnement de l'utilisateur qui a créé le travail et l'heure à laquelle il a été créé, suivi de la commande réelle qui sera exécutée.

, Comment planifier des tâches futures sous Linux, Nouvel hébergement de blog, Nouvel hébergement de blog

COMMENT SUPPRIMER DES EMPLOIS

Pour supprimer les travaux que vous ne souhaitez plus exécuter; vous utilisez le commande atrm à côté du numéro de travail. Cette commande est utile lorsqu'il est nécessaire d'arrêter l'envoi d'un courrier à une date spécifiée.

Voyons comment cela fonctionne en supprimant l'un des emplois créés précédemment

, Comment planifier des tâches futures sous Linux, Nouvel hébergement de blog, Nouvel hébergement de blog

COMMENT PROGRAMMER DES TRAVAUX RÉCURRENTS

Contrairement au à , qui exécute une tâche unique, vous pouvez exécuter un travail pour qu'il se reproduise en fonction de l'heure spécifiée à l'aide de la commande commande cron. le commande cron est un outil utile pour les administrateurs système Linux pour exécuter la maintenance de routine du système et la sauvegarde du serveur. le service cron (démon) s'exécute en arrière-plan et vérifie régulièrement / etc / crontab fichier, le / etc / cron * / répertoire, et / var / spool / cron pour voir si un travail doit être exécuté.

COMMANDE CRONTAB POUR LES EMPLOIS CRON

Les utilisateurs réguliers peuvent utiliser le crontab pour gérer leurs propres tâches cron. Ces commandes crontab peuvent être utilisées pour créer / éditer, lister, supprimer des tâches cron. Bien que chaque utilisateur ait ses propres fichiers cron, qui sont des fichiers / var / spool / cron / crontab. Ce fichier n'est pas censé être modifié directement, vous devez donc crontab pour configurer votre propre fichier cron. Cependant, seule la racine a accès pour modifier ce fichier de configuration

Voyons les différentes manières dont le crontab la commande peut être utilisée

Crontab –l: Cela répertoriera les travaux pour l'utilisateur actuel

Crontab –r: Cela supprimera toutes les tâches de l'utilisateur actuel

Crontab –e: Cela créera ou modifiera des travaux pour l'utilisateur actuel

Crontab : Cela supprimera tous les travaux et les remplacera par des travaux lus dans le fichier spécifié

Veuillez noter que l'utilisateur root a le –U option pour changer le travail des autres utilisateurs. Il n'est pas recommandé d'utiliser crontab pour gérer les tâches système.

Passons maintenant à savoir comment créer vos propres emplois et la structure à suivre, mais vous devez également comprendre tout ce que j'ai dit pour pouvoir structurer votre travail.

Lorsque vous modifiez ou créez votre travail avec le crontab –e , la commande ouvre l'éditeur vim par défaut, sauf qu'il a été configuré pour s'ouvrir avec autre chose.

Les travaux qui ont été modifiés auront un travail par ligne. Les lignes vides sont autorisées et tous les commentaires doivent être précédés d'un signe de hachage (#).

Les emplois individuels consistent en 6 champs montrant l'heure à laquelle un travail doit être exécuté ainsi que ce qui sera exécuté. Lorsque les cinq premiers champs correspondent à l'heure actuelle pour laquelle ils sont programmés pour être exécutés, les instructions du 6ème champ seront exécutées

Le champ suit le modèle comme indiqué ci-dessous

Minute: Le premier champ est spécifié en minutes allant de 0-59

Heures: Le deuxième champ est spécifié en heures allant de 0-23

Jour du mois: Le troisième champ est spécifié en jours dans un mois allant de 1-31

Mois: Le quatrième champ indique le mois qui va de 1-12 ou janvier, février, mars, avril, etc.

Jour de la semaine: Le cinquième champ correspond aux jours d'une semaine allant de 0-6 Dimanche = 0 ou 7 ou Lun, mar, mer, jeu, ven, sam, dim

Commander: Le sixième champ est la commande réelle à exécuter

Affichage du fichier de configuration- / etc / crontab des tâches cron à partir de la ligne de commande, vous verrez quelque chose qui ressemble à ceci sur les systèmes d'exploitation basés sur RedHat

, Comment planifier des tâches futures sous Linux, Nouvel hébergement de blog, Nouvel hébergement de blog

Cela peut sembler très différent sur les systèmes d'exploitation Debian

Veuillez noter que lorsque le jour de la semaine et le jour du mois sont définies, la commande ne sera exécutée que lorsque les deux timepec correspondent. C’est pourquoi il est important de définir jour de la semaine et jour du mois à (* -qui signifie ne pas s'en soucier)

COMMENT UTILISER DES OPÉRATEURS POUR EXÉCUTER DES TRAVAUX CRON

Vous pouvez indiquer votre timepec en utilisant les opérateurs suivants (*, /, -). Un ou deux de ces opérateurs peuvent être combinés pour spécifier quand et comment vos tâches cron seront exécutées. Voici comment ces opérateurs sont utilisés

x-y: Ce qui signifie gamme. Cela signifie que le temps spécifié doit être compris entre x et y. Par exemple, lorsque la minute est spécifiée dans une plage, telle que 7-9. Cela signifie que la commande doit s'exécuter à 7 minutes, 8 minutes, 9 minutes après l'heure spécifiée

x, y: Cela signifie liste. Ils peuvent également inclure la plage. Quand la minute
est spécifié comme 7,9, cela signifie que la commande doit s'exécuter à 7, 8, 9 minutes après l'heure spécifiée

*/X: Cela indique un intervalle de X. lorsqu'il est spécifié comme * / 9, cela signifie que la commande doit s'exécuter toutes les 9 minutes.

Ne vous inquiétez pas; nous examinerons quelques exemples pratiques de la façon dont tout cela fonctionne. Tout d'abord, planifions un travail à exécuter toutes les minutes

, Comment planifier des tâches futures sous Linux, Nouvel hébergement de blog, Nouvel hébergement de blog

Le travail ci-dessus est prévu pour imprimer la date actuelle toutes les minutes et rediriger
la sortie dans un fichier. Notez que si un fichier n'est pas spécifié dans le crontab , la sortie sera redirigée vers le courrier de l'utilisateur qui a créé le travail cron.

Vous pouvez également spécifier d'exécuter des commandes à une minute, un mois et une année spécifiés. Essayons

, Comment planifier des tâches futures sous Linux, Nouvel hébergement de blog, Nouvel hébergement de blog

Nous avons planifié une tâche cron de s'exécuter toutes les deux minutes, du 1 h – 2 h sur le 27 octobre. Le 27 octobre se trouve être dimanche de mon temps. Nous voulons également que cette sortie soit envoyée dans un fichier. Cela signifie que toutes les deux minutes, du 1 h à 2 h, le travail cron continuera à écrire dans le fichier.

Veuillez noter que lorsque le jour du mois et le jour de la semaine sont tous deux définis sur un jour spécifié, la commande ne s'exécutera que lorsque les deux commandes correspondent, sinon la commande continuera d'attendre un jour où il y aura une correspondance. Il s'agit des erreurs les plus courantes commises par les débutants. Pour supprimer ce problème, vous devez spécifier le * signe.

Au lieu d'avoir à taper vos commandes sur le fichier crontab, vous pouvez planifier vos travaux à partir d'un script. Ceci est très utile dans un environnement de production lorsque vous devez vérifier quotidiennement le disque, l’utilisation du processeur ou lorsque vous exécutez la sauvegarde d’une entreprise.

, Comment planifier des tâches futures sous Linux, Nouvel hébergement de blog, Nouvel hébergement de blog

La commande ci-dessus exécutera un fichier de script qui vérifiera l'utilisation du disque toutes les minutes. Il s'agit simplement d'un guide simple sur la façon d'exécuter un fichier de script à partir du fichier crontab. Vous pouvez également choisir de faire la sortie envoyée à votre e-mail ou un fichier externe en utilisant votre symbole de redirection de sortie comme indiqué ci-dessous

, Comment planifier des tâches futures sous Linux, Nouvel hébergement de blog, Nouvel hébergement de blog

De nombreuses tâches administratives sont effectuées horaire, quotidien, hebdomadaire ou mensuel base. Cela a rendu la vie facile aux administrateurs car la plupart de ces tâches peuvent être exécutées sans avoir à créer un fichier crontab distinct.

Si vous devez planifier une sauvegarde de ce type, vous n'avez pas besoin de créer un fichier crontab pour celui-ci; placez plutôt le fichier de script qui exécute ces tâches dans l'un des répertoires suivants.

/etc/cron.hourly

/etc/cron.daily

/etc/cron.weekly

/etc/cron.monthly

Par exemple, le script que vous souhaitez exécuter sur une base horaire, placez-le dans le /etc/cron.hourly, et il en va de même pour les autres. Si vous avez déjà le script dans un fichier, vous pouvez continuer à le copier dans ce répertoire. Si vous n'avez pas de script, vous pouvez également créer un fichier dans le répertoire, comme indiqué ci-dessous, et y écrire votre script.

, Comment planifier des tâches futures sous Linux, Nouvel hébergement de blog, Nouvel hébergement de blog

Veuillez noter que le fichier de script doit être rendu exécutable avant que le système puisse l'exécuter en tant que script. Cela peut être fait en écrivant le chmod + x sur la ligne de commande.

Cron est excellent dans la planification des tâches sous Linux, mais il a une faiblesse. Cron perd ses tâches lorsqu'un serveur est arrêté ou éteint. Donc, pour que cron puisse exécuter votre travail, le serveur ou le système doit être opérationnel. Mais il existe une solution à cela – un autre outil appelé anacron, qui offre un avantage comparatif sur cron. L'anacron aide à exécuter les travaux à un intervalle garanti.
Cela signifie que l'outil anacron exécutera toujours sa tâche même lorsque le système ou le serveur est en panne.

Nous allons donc voir comment configurer des tâches à l'aide d'anacron, mais d'abord, comprenons le contenu de la / etc / anacrontab fichier. Le fichier contient quatre champs qui déterminent comment vos travaux doivent être exécutés

, Comment planifier des tâches futures sous Linux, Nouvel hébergement de blog, Nouvel hébergement de blog

Période en jours: Ce champ indique combien de jours le travail doit être exécuté

Retard en minutes: C'est le temps que le démon cron doit attendre avant d'exécuter le travail

Identifiant du travail: Il identifie la commande à exécuter. Son travail principal est d'identifier les travaux dans les messages, les fichiers journaux pour une exécution spéciale

Commander: Il s'agit de la commande réelle à exécuter

le agréable commande exécute la commande à faible priorité. le run-parts est un outil cron utilisé pour exécuter chaque fichier spécifié dans le répertoire

Exécutons maintenant une tâche pour exécuter une vérification quotidienne de l'utilisation de votre disque par notre serveur. Comme vu dans le / etc / anacrontab fichier, vous pouvez insérer votre commande sous le fichier.

, Comment planifier des tâches futures sous Linux, Nouvel hébergement de blog, Nouvel hébergement de blog

Si le système est en panne, anacron exécutera la commande 15 minutes après la mise sous tension du système.

Il est bon de savoir que anacron n'est pas un service qui doit être configuré directement. La présence de cron.daily, cron.weekly, cron.monthly, cron.hourly a enlevé cet aspect. Tout ce dont vous avez besoin est de déposer votre script dans les répertoires et de modifier le délai de votre choix et de laisser l'anacron exécuter votre travail pour vous.

Il existe différentes options que vous pouvez utiliser avec anacron. Vous pouvez exécuter le anacron –T sur la ligne de commande pour vérifier toute erreur de syntaxe présente dans le fichier anacron.

le anacron –d la commande exécutera le travail anacron au premier plan

CONCLUSION

Nous avons pu expliquer comment planifier les tâches futures à l'aide de à, cron, et anacron commander. le à La commande peut uniquement planifier une tâche future unique pendant que cron et le anacron peut planifier un travail récurrent. Nous discutons également de l'avantage comparatif qu'Anacron offre par rapport à Cron, qui vient avec la façon dont les deux outils gèrent les tâches en cas d'arrêt de votre serveur ou système. Avec anacron, les tâches seront toujours exécutées au démarrage du système, ce qui n'est pas le cas avec cron.

Veuillez laisser un commentaire dans la section des commentaires si nécessaire pour ajouter ou supprimer de
Cet article