Un guide du débutant à Crontab sur Centos

Un guide du débutant à Crontab sur Centos

Le "cron»Daemon est une application Linux intégrée que les utilisateurs de Linux utilisent pour planifier l'exécution des processus. Cron recherche le «tables cron" ou "crontab"Pour les fichiers et scripts particuliers. Le fichier crontab fournit un ensemble de commandes que vous pouvez exécuter régulièrement. Il fournit également les noms des commandes utilisées pour gérer la liste de commandes. Crontab Utilise également le planificateur Cronjob pour effectuer des opérations. Selon un ensemble d'instructions, Cron est une fonction système qui fera ou exécutera des processus pour vous. Crontab est le nom du calendrier, ainsi que l'utilité qui est utilisée pour ces modifications.

Dans cet article, nous couvrirons les points suivants liés à Crontab:

  1. Histoire
  2. Versions Cron Modern
  3. Qu'est-ce qu'un cronjob?
  4. Pourquoi utiliser Cronjob?
  5. Éléments croissants
  6. Contab Working
  7. Utilisation du crontab
  8. Syntaxe de Crontab
  9. Caractères spéciaux dans l'expression
  10. Cron Special Strings
  11. Variable d'environnement
  12. Variable crontab
  13. Options de commande Crontab
  14. Installation de Cron sur Centos
  15. Contab Scheduler: à l'échelle du système
  16. Accès cron
  17. Contab Management
  18. 14 exemples de cronjob
  19. Création de Cronjob pour un utilisateur spécifique
  20. Énumérer les cronjobs
  21. Création de sauvegarde Cronjobs
  22. Retirer les cronjobs
  23. Gestion de la sortie de Cronjob
  24. Limites de cronjob
  25. Gestion des erreurs de cronjob
  26. Générateurs de syntaxe pour crontab
  27. Fronts graphiques pour crontab

Alors dirigeons-nous vers ce voyage!

Histoire:

Lorsque le système d'exploitation a permis le mode multi-utilisateurs pour ses utilisateurs, le service du système CRON a été appelé à partir de «/ etc / rc". Son algorithme se compose des étapes suivantes:

  1. Lis le "/ usr / lib / crontab»Répertoire.
  2. Vérifiez si les commandes s'exécutent à l'heure et à la date actuelles, puis exécutez les commandes comme racine, le superutilisateur.
  3. Prendre une minute.
  4. Répétez l'étape 1 depuis le début.

Cette version de cron était fiable et simple, mais il a utilisé des ressources, qu'il ait travail. Au cours d'une expérience de la fin des années 1970 à l'Université Purdue, il a été découvert qu'un Vax partagé dans le temps s'étendant Service de Cron Pour les 100 utilisateurs ont exprimé trop de pression sur le système.

Cron Modern Versions:

New Cons est apparu avec l'introduction du projet Linux et GNU. Le "Vixie Cron», Créé par Paul Vixie en 1987, est le cron le plus courant là-bas. Le Vixie Cron La version 3 a été introduite au dernier trimestre de 1993. En janvier 2004, ISC Cron a été renommé version 4.1. La plupart des distributions BSD et Linux utilisent la version 3, qui a quelques corrections de bugs mineurs. En 2007, Red Hat a séparé Vixie-Cron 4.1, et Anacron 2.3 a été ajouté en 2009. Anacron et Dcron sont deux autres implémentations importantes. Anacron n'est pas un programme Cron autonome. Il doit être appelé par un autre cronjob. Matt Dillon, le fondateur de Dragonfly BSD, a créé Dcron et Jim Pryor a repris son entretien en 2010.

Dale Mellor a créé Mcron, une version Cron basée sur une ruse compatible avec Vixie Cron, en 2003. Il permet également une plus grande flexibilité en incluant tout code de schéma dans les descriptions des tâches et les calculs de planification. McRon est installé par défaut sous la gestion du package Guix. Il garantit également que les colis requis sont installés et que les crontabs pertinents se réfèrent correctement à eux. Lorsque les implémentations CRON ne sont pas accessibles dans un environnement d'hébergement Web, une solution WebCron définit les tâches annulaires pour exécuter régulièrement.

Qu'est-ce qu'un cronjob?

Cron est un outil qui vous permet de planifier des tâches pour une exécution ultérieure. Vous souhaiterez peut-être utiliser une autre commande si vous souhaitez planifier un emploi unique pour une date ultérieure. En même temps, Cron est idéal pour les tâches récurrentes.

Vous connaissez peut-être les processus d'arrière-plan dans Windows, tels que les services. Cron est un démon qui remplit ses fonctionnalités en exécutant les tâches en arrière-plan. Dans un état d'inactivité, le démon attend pour accomplir une tâche à partir du système de travail ou d'un autre système basé sur Linux dans le réseau. En parlant de la structure du fichier cron, nous avons un fichier cron, un fichier texte simple qui comprend des commandes qui seront exécutées à l'heure planifiée. Le "/ etc / crontab«Est le fichier Crontab système par défaut, qui existe dans le répertoire Crontab suivant:«/ etc / cron.* /". Les administrateurs système peuvent modifier le fichier System Crontab.

Les systèmes d'exploitation basés sur Linux prennent en charge de nombreux utilisateurs. Chacun d'eux peut créer leur fichier Crontab et ajouter des commandes pour exécuter des tâches chaque fois qu'ils le souhaitent. Un démon cron vérifiera le fichier crontab, puis effectuera le travail en arrière-plan. Vous pouvez également utiliser des cronjobs pour créer des sauvegardes, une surveillance des espaces disques et pour l'automatisation de la maintenance du système. Les tâches cron sont idéales pour une machine qui exécute sept jours par semaine, 24 heures par jour. Alors que les administrateurs système utilisent principalement des tâches CRON, ils peuvent également être extrêmement précieux pour les développeurs Web.

Pourquoi utiliser Cronjob?

  • Les cronjobs aident à archiver les tables de base de données.
  • Supprimer tous les fichiers journaux plus âgés d'un an.
  • Envoie des notifications par e-mail, telles que les notifications d'expiration du mot de passe et les newsletters.
  • Il aide le système d'exploitation à prendre une sauvegarde planifiée des bases de données et des fichiers journaux.
  • Nettoyage des données en cache régulièrement.
  • Il est utilisé pour automatiser l'entretien du système.
  • C'est un énorme outil utilisé pour automatiser les tâches Unix.

Éléments croisés:

La majorité des cronjobs ont trois parties:

  • Le commande qui est utilisé pour exécuter un script.
  • Le scénario qui sera exécuté.
  • Le sortir de l'exécution du script.

La plupart des programmes qui ont besoin d'utiliser un cronjob fourniront des instructions détaillées sur la façon de le configurer.

Le fichier crontab:

Une ligne de fichiers crontab est «inactive» ou «active». Une ligne «active» est une entrée de commande CRON ou un paramètre d'environnement. Toute ligne qui est ignorée, y compris les commentaires, est considérée comme «inactive». Les onglets, les espaces principaux et les lignes vierges ne sont pas pris en compte. Les lignes avec le signe «#» comme premier personnage non espace sont lues comme des commentaires et ignorées. Dans les paramètres de variables d'environnement ou les commandes CRON, les commandes ne sont pas autorisées à exister sur les mêmes lignes car si vous faites cela, les commentaires font partie de la commande CRON.

Contab Working:

Les crontabs peuvent être trouvés dans le répertoire local, comme dans «/ var / spool" ou "/ var / spool / cron / crontabs», Qui est son sous-répertoire. Même s'ils sont présents dans l'un de ces emplacements, utilisez la commande Crontab pour accomplir la tâche de les modifier. Nous déterminerons quels composants sont nécessaires avant de pouvoir vous attendre aux résultats souhaités des actions Crontab. L'entrée dans le crontab doit être présente dans la première commande. Les cinq paramètres indiquent leur temps d'exécution et s'il doit être exécuté ou non. Le crontab peut être modifié en entrant en mode Edit avec la commande "crontab -e". Une fois que vous avez donné du temps comme entrée, le crontab est prêt à fonctionner à l'heure spécifiée.

Le démon cron aide à effectuer les vérifications nécessaires afin que la commande crontab puisse être exécutée à cette instance. Chaque minute, le démon crontab vérifie le crontab. En conséquence, ce crontab contient des informations jusqu'à la minute. Une fois le chèque effectué, la commande associée est exécutée avec les champs du crontab correspondant à l'heure actuelle.

Des situations telles que les «heures manquantes» pendant les épargnes de la lumière du jour doivent être évitées car la commande peut même ne pas s'exécuter une fois. D'un autre côté, si le temps se produit plus d'une fois, la commande peut même exécuter deux fois. Un autre exemple est qu'un trait d'union «-» peut effectuer le cronjob plusieurs fois tout au long de la journée. Par exemple, si quelqu'un souhaite effectuer un cronjob aux 10e et 11e heure de la journée, la commande 10-11 peut être utilisée. Un autre aspect essentiel de l'exécution des cronjobs est les paramètres pour permettre aux emplois de s'exécuter. Permettre ou refuser à un utilisateur d'effectuer des cronjobs peut être accompli en apportant des changements dans le cron.Autoriser ou cron.refuser les fichiers.

Utilisation de Crontab:

Linux System Pack a inclus «Crontab» pour la planification des travaux. En conséquence, l'exécution d'un script en tant que racine rend les mises à jour du système plus faciles à maintenir. C'est aussi simple que de changer le cronjob et, après cela, attendez le processus de redémarrage.

Syntaxe du crontab:

La syntaxe du crontab comprend six champs dans lesquels les cinq premiers champs sont liés à la date et à l'heure d'exécution. Chaque champ d'un fichier crontab existe dans l'ordre suivant:

Minute (s) heure (s) jour (s) mois (s) en semaine Commande (s) en semaine
  • minute: Sa valeur se situe entre la plage 0-59. L'option minute définit la minute exacte que la commande Crontab exécute.
  • heure: Sa valeur se situe entre la plage 0-23. L'option Hour définit le jour où la commande Crontab s'exécute.
  • jour: Sa valeur se situe entre la gamme 1-31. L'option de jour spécifie le jour où la commande Crontab exécute.
  • mois: Sa valeur se situe entre la gamme 1-12 ou Jan-Dec. L'option du mois détermine le mois de l'année que la commande Crontab exécute.
  • jour de la semaine: Sa valeur se situe entre la gamme 0-6 ou le Sun-Sat. Les options de semaine définissent le jour de la semaine que la commande Crontab exécute.
  • commande: L'option de commande établit la séquence des commandes qui seront effectuées.

Découvrez la syntaxe suivante de la commande Crontab:

***** / pathtoscript
  • Spécifiez la plage: Utilisez «-» Hyphen pour définir une gamme particulière: 30-50, 40-100, ou mardi-vendredi, juillet-déc.
  • À des fins de correspondance, Utiliser les astérisques (*).
  • Définir plusieurs gammes: Les utilisateurs peuvent définir divers champs qu'une commande peut séparer, comme Dec-May ou Feb-Sept.

Caractères spéciaux dans l'expression:

  • "?«Est utilisé pour représenter« tout »dans les champs suivants: <Jour de semaine> et pour indiquer toute valeur arbitraire et ignorer la valeur du champ. Par exemple, nous pouvons entrer un «?" dans le Paramètre pour exécuter un script sur le "7e de chaque mois», Quel que soit le jour de la semaine ce jour-là.
  • "*"Est utilisé pour indiquer tout ou que l'événement devrait se produire pour une unité de temps. Par exemple, sur le terrain, «*»Signifie chaque minute.
  • "-«Représente la« gamme ». Par exemple, lorsque nous utilisons le «-«Entre les heures de 9-12, cela signifie« 9e, 10e, 11e et 12e heures ».
  • Les valeurs incrémentielles sont spécifiées à l'aide du symbole incrémentiel «/». Par exemple, dans le champ des minutes, un «10/10» implique «10, 20, 30, 40 et 50 minutes d'une heure".
  • "," ou "Virgule»Fournit une gamme de valeurs. Par exemple, "Mardi, jeudi, samedi"Signifie"Mardi, jeudi, samedi".
  • Lorsqu'il est employé dans divers domaines, la lettre «L»(Last) a diverses significations. Selon le mois civil, s'il est utilisé sur le terrain comme «31 mars», cela implique le dernier jour de mars. En utilisant une valeur de décalage avec lui, comme «L-2«, Signifie le deuxième au dernier jour du mois.
  • Le jour de semaine le plus proche (du lundi au vendredi) à une journée donnée du mois est déterminé par «W»(En semaine). Si nous mettons «4W» sur le terrain, cela signifie «en semaine près du 4 de ce mois».
  • "#"Désigne le"N-th»Occurrence en semaine en un mois; par exemple, "Deuxième vendredi du février" serait "2 # 2".

Cron Special Strings

Le démon cron a quelques raccourcis qui facilitent les définitions de travail.

Ces mots ont une signification précise, et vous pouvez les utiliser dans la syntaxe au lieu de la spécification de date de 5 colonnes. Voici quelques-uns des raccourcis de Cron:

@hourly: C'est la même chose que "0 * * * *»Et exécute la commande au début de chaque heure.

@quotidien: C'est la même chose que "0 0 * * *»Et exécute la commande une fois par jour, à 12 A.m. (minuit).

@hebdomadaire: C'est la même chose que "0 0 * * 0"Et exécute la commande chaque semaine dimanche à minuit.

@mensuel: C'est la même chose que "0 0 1 * *»Et exécute la commande à 12 A.m. (minuit) Chaque mois du premier jour.

@annuel: C'est la même chose que "0 0 1 1 *»Et exécute la commande une fois par an le 1er janvier à minuit.

@reboot: Chaque fois que le système est redémarré, cette commande sera exécutée.

Variable d'environnement:

Lorsque Cron gère un travail, un environnement établissant une ligne dans le crontab peut définir des variables d'environnement.

Dans le Crontab, un paramètre d'environnement peut être ajouté comme:

nom = valeur

Les espaces sont facultatifs autour "valeur". En outre, il y a la chaîne en citations pour maintenir les blancs de fuite ou de leader.

Cron définit automatiquement certaines variables d'environnement:

  • Le COQUILLE la variable est définie sur «/ bac / sh".
  • Le répertoire du propriétaire Crontab «/ etc / passwd»La ligne est utilisée pour définir Accueil et Logname. Coquille et maison peut être modifié au moment de l'exécution en utilisant les paramètres Crontab, mais nous ne pouvons pas faire de même avec Logiciel.
  • Parfois la variable Logiciel est connu comme "UTILISATEUR»Sur les systèmes BSD. Nous devons également définir le «UTILISATEUR" configuration.

Variables crontab:

Certaines des variables CRON les plus utilisées sont répertoriées ci-dessous:

  • CHEMIN: Il s'agit d'une liste de répertoires qui seront recherchés par Cron.
  • Courrier: Spécifiant qui reçoit la sortie de chaque commande par e-mail.
  • MAISON: Le répertoire personnel de l'utilisateur connecté.
  • Logiciel: Le nom de l'utilisateur actuel.
  • Égouter: Les configurations locales actuelles
  • ÉDITEUR: L'éditeur par défaut pour les fichiers.
  • POSTER: L'emplacement de stockage de courrier de l'utilisateur actuel.
  • TERME: L'émulation actuelle d'un terminal.
  • UTILISATEUR: L'utilisateur actuel qui est actuellement connecté.
  • COQUILLE: L'itinéraire de shell de l'utilisateur actuel, comme bash.

Options de commande Crontab:

  • -u [utilisateur]: Cette option vous aidera à définir l'utilisateur.
  • -n [hôte]: Définissez n'importe quel hôte dans le cluster pour exécuter les crontabs des utilisateurs à l'aide de l'option "-N".
  • -x [masque]: Utilisez l'option «-x» pour permettre le débogage.
  • -E: Cette option est utilisée pour modifier le crontab de l'utilisateur.
  • -R: Pour supprimer le crontab d'un utilisateur, utilisez l'option «-r».
  • -L: Pour répertorier le crontab de l'utilisateur, écrivez le «-l» dans la commande crontab.
  • -C: Pour faire en sorte que l'hôte dans le cluster exécute les crontabs des utilisateurs et utilisez l'option «-c»
  • -je: Pour inviter avant la suppression, l'option «-i» est utilisée.
  • -S: Consultez le contexte selinux en utilisant l'option «-s».

Installation de Cron sur Centos:

Par défaut, Cron est inclus dans les centos 8. Pour une raison quelconque, si vous ne l'avez pas déjà, installez-le sur votre système:

$ sudo dnf installer cron
$ sudo systemctl activer --now grond.service
$ sudo systemctl Status Cond

Contab Scheduler: à l'échelle du système

Régulièrement, la plupart des services utilisent Crontab. Les services utilisent leurs paramètres de Crontab Scheduler directement au «/ etc / cron.d»Répertoire. Après cela, le planificateur exécutera automatiquement les fichiers présents dans ce répertoire. Voici les dossiers préconfigurés de Crontab: «/ Etc / cron.heures »,« / etc / cron.tous les jours »,« / etc / cron.hebdomadaire »et« / etc / cron.mensuel". Les administrateurs Linux ont un contrôle total sur ces répertoires. Dans le même temps, le planificateur traverse et exécute régulièrement ces fichiers Crontab. De plus, si les utilisateurs de racines veulent exécuter quelque chose, par exemple, il veut exécuter un script particulier tous les jours, il placera le fichier à l'intérieur du "/ etc / cron.quotidien»Répertoire.

Cron Access:

Vous pouvez attribuer un contrôle sur l'exécution de tout fichier en utilisant cron. Évaluez cette fonctionnalité en utilisant les fichiers suivants:

/ etc / cron.permettre: Autoriser

/ etc / cron.refuser: Nier

Choses à garder à l'esprit:

  • Seul l'utilisateur racine peut utiliser Cron si les deux fichiers des fichiers mentionnés ci-dessus sont manquants.
  • À l'aide de Cron, ajoutez le nom avant le fichier, que vous souhaitiez nier ou autoriser un nom de fichier particulier.
  • Ajoutez la ligne tout avant le cron.Nier le fichier si vous ne voulez pas qu'un autre utilisateur utilise Cron.
  • Si rien n'est écrit dans le cron.Nier le fichier, tous les utilisateurs peuvent travailler avec Cron.
  • Si un nom d'utilisateur apparaît dans les deux fichiers: cron.Autoriser, cron.nier, alors que l'utilisateur peut toujours utiliser Cron.
  • Supposons qu'un utilisateur soit mentionné dans cron.nier, mais il n'y a pas de cron.Autoriser le fichier à ce sujet; alors tous les utilisateurs peuvent utiliser cron sauf pour celui spécifié.

Gestion de Crontab:

Comme nous l'avons déjà discuté, il s'agit d'un fichier particulier contenant le calendrier des emplois exécuté par Cron. D'un autre côté, ces emplois ne sont pas censés être édités directement. La commande crontab est recommandée à cet effet. La commande crontab vous permet de modifier le crontab lié à votre profil utilisateur sans avoir besoin de modifier vos privilèges. Cette commande vous informera également des erreurs présentes dans le crontab, qui ne serait pas possible si elle serait modifiée directement. Utilisez la commande suivante pour modifier votre crontab:

$ crontab -e

Sur les systèmes Linux, "/ etc / répertoire»Contient un autre fichier crontab. Sous l'emplacement mentionné, un crontab à l'échelle du système existe qui comprend un champ qui spécifie les privilèges d'un profil utilisateur pour exécuter des cronjobs. Utilisez la commande suivante pour modifier le crontab à l'échelle du système:

$ sudo nano / etc / crontab

L'autre méthode plus facile pour accéder et modifier le fichier Crontab est l'utilisation du «nano" éditeur. Faire "nano«Votre éditeur par défaut en suivant ces étapes:

$ nano ~ /.bash_profile

Ajoutez la ligne suivante au début du fichier ouvert:

exportation visuel = "nano"

Enregistrez la ligne ajoutée dans le " ~ /.bash_profile»Et soyez. Après cela, recharger le «~ /.bash_profile" déposer.

$ . ~ /.bash_profile

Maintenant, écrivez cette commande pour ajouter des cronjobs:

$ crontab -e

Ceci est le fichier crontab, où nous sauverons tous nos cronjobs:

Pour afficher le contenu du fichier Crontab, utilisez la commande suivante:

$ crontab -l

Note: Actuellement, nous n'avons ajouté aucun cronjob dans le fichier crontab pour imprimer quoi que ce soit.

Pour supprimer les cronjob prévus dans le fichier crontab, rédigez cette commande:

$ crontab -r

14 exemples de cronjob:

Exemple 1: exécution de Cronjob après toutes les 50 minutes

La commande crontab suivante exécutera le «Mise à jourB«Après toutes les 50 minutes:

50 * * * * UpdatedB

Exemple 2: Exécution de Cronjob sur l'heure et les mois spécifiés

Exemple de crontab à exécuter / usr / local / bin / testscript.shot à 8h00 p.m. Le 20 janvier, février, mars et avril:

00 08 20 1,2,3,4 * / usr / local / bin / testscript.shot

Exemple 3: exécution de Cronjob à chaque vendredi 1 p.m.

La commande ci-dessous permettra au système exécuter le «testscript.shot"Tous les vendredis, 1 p.m.:

0 01 * * ven / scripts / testscript.shot

Exemple 4: exécution de Cronjob à chaque minute

Pour exécuter un script particulier après chaque minute, consultez la syntaxe de cette commande:

* * * * * / scripts / testscript.shot

Exemple 5: exécution de Cronjob les jours spécifiés

Vous trouverez ci-dessous un exemple qui vous aidera si vous souhaitez planifier un cronjob à exécuter les jours particuliers. Cet exemple exécutera le «testscript.shot”Lundi et mercredi à 2 p.m.:

0 02 * * lun, mer / script / testscript.shot

Exemple 6: exécution de Cronjob le premier lundi de chaque mois

Le paramètre de temps ne suffit pas pour définir cet exemple. Nous utiliserons une condition pour spécifier que le script particulier devrait être exécuté chaque mois de lundi de chaque mois:

0 2 * * lun [$ (date +% d) -le 07] && / script / testscript.shot

Exemple 7: exécution de Cronjob sur 10 secondes

Encore une fois, nous spécifierons une condition pour exécuter le cronjob sur 10 secondes:

* * * * * / scripts / script.shot
* * * * * Sleep 10; / scripts / script.shot

Exemple 8: exécution de Cronjob pour plusieurs tâches

Utiliser (;) pour configurer Cron pour exécuter plusieurs commandes de la manière suivante:

* * * * * / scripts / testscript1.sh; / scripts / testscript2.shot

Exemple 9: exécution de Cronjob au début de chaque année en utilisant «@yearly»

L'exécution d'une tâche à la première minute d'une nouvelle année est utile dans le cas où vous devez envoyer des souhaits du Nouvel An à quelqu'un."0 0 1 1 *"Est similaire à l'horodatage"@annuel«:

@yearly / scripts / testscript.shot

Exemple 10: exécution de Cronjob au début de chaque mois en utilisant «@monthly»

Vous pouvez utiliser le "@mensuel«Timestamp pour exécuter les tâches mensuelles telles que la facturation des clients et le paiement des factures:

@monthly / scripts / testscript.shot

Exemple 11: exécution de Cronjob au début de chaque semaine en utilisant «@weekly»

Exécutez n'importe quelle tâche au début de la semaine, comme le nettoyage du système à l'aide du «@hebdomadaire”Timestamp. "hebdomadaire" est équivalent à "0 0 * *»:

@weekly / bin / testscript.shot

Exemple 12: Exécution de Cronjob au début de chaque mois en utilisant «@daily»

"@quotidien«L'horodatage est équivalent à«0 0 * * *". Il est utilisé pour exécuter les tâches basées sur les tâches:

@daily / scripts / script.shot

Exemple 13: Exécution de Cronjob au début de chaque heure en utilisant «@Hourly»

"@hourly«L'horodatage est équivalent à«0 * * * *". Vous pouvez utiliser cet horodatage pour exécuter des tâches horaires:

@Hourly / Scripts / TestScript.shot

Exemple 14: exécution de Cronjob pour le redémarrage du système

"@reboot"Est pratique pour les actions que vous souhaitez exécuter chaque fois que le système bottait. Il est utile pour lancer automatiquement des tâches en arrière-plan. Ce type de cronjob est utilisé pour planifier les scripts de démarrage.

@reboot / scripts / testscript.shot

Création de Cronjob pour un utilisateur spécifique

Pour planifier un cronjob pour un utilisateur particulier, spécifiez son nom de la manière suivante:

***** nom d'utilisateur / path_to_script

Maintenant, vérifions un exemple rapide:

50 * * * * Linuxhint UpdatedB

Cette commande exécutera le «Mise à jourB"Après toutes les 50 minutes pour le"linuxhint" utilisateur.

Énumérer les cronjobs:

Utilisez cette commande pour répertorier les cronjob planifiés sur votre système:

$ crontab -l

Création de sauvegarde Cronjobs:

Pour créer une sauvegarde des cronjob planifiés, utilisez cette commande:

$ crontab -l> cron-backup.SMS

Vérifiez le contenu du «cron-backup.SMS«Pour vous assurer que les cronjobs sont en sauvegarde ou non:

$ chat cron-backup.SMS

Retirez les cronjobs:

Méthode 1: sans invite

Le "crontab -r»La commande est utilisée pour supprimer les cronjobs:

$ Crontab -r

Méthode 2: avec invite

L'exécution de la commande suivante vous montrera une invite avant de supprimer le crontab:

$ crontab -i -r

Gestion de la sortie de Cronjob:

Comme nous l'avons mentionné dans l'introduction de Cronjob, ces emplois opèrent en arrière-plan. C'est la raison pour laquelle il n'est pas toujours évident s'ils ont accompli la tâche avec succès ou non. À ce stade, vous avez une certaine compréhension liée à la planification Cronjob et à son utilisation. Maintenant, vous pouvez expérimenter diverses façons de redirection de la sortie des cronjobs. Cette redirection vous aidera à suivre la fonctionnalité des cronjobs.

Par exemple, vous pouvez envoyer la sortie de Cronjobs à l'adresse e-mail associée à votre profil utilisateur Linux si vous avez un agent de transfert de messagerie installé et configuré sur votre serveur, tel que «Envoyer un mail". En comparaison, un «Courrier«Le réglage en haut du crontab peut également être utilisé pour fournir des adresses e-mail manuellement. Ajoutez les lignes suivantes à votre fichier Crontab, dans lequel nous avons un «Courrier»Déclaration suivie de mon adresse e-mail, une directive domestique faisant référence au répertoire où le binaire cron doit être trouvé, une seule tâche cron et un COQUILLE directive indiquant le shell à fonctionner qui est bash dans notre cas.

Mailto = "sharqafatima789 @ gmail.com "
Shell = / bin / bash
Accueil = /
50 * * * * Linuxhint UpdatedB
* * * * * echo 'exécuter cette commande toutes les 50 minutes'

Cette tâche renverra le message "Exécutez cette commande toutes les 50 minutes". La sortie sera envoyée par e-mail à l'adresse e-mail spécifiée présente dans le «Courrier»Directive. Pour éviter de recevoir un e-mail avec le résultat, vous pouvez rediriger la sortie de la tâche Cron vers un emplacement vide ou un fichier journal.

Pour l'envoi de la sortie d'une commande planifiée dans un fichier journal: Ajouter >> à la fin de la commande, avec le nom et le chemin du répertoire contenant le fichier journal, comme indiqué ci-dessous:

* * * * * echo 'Exécuter cette commande toutes les 50 minutes' >> / répertoire / path / fichier.enregistrer

Nous avons créé un exemple de fichier journal à cet effet, nous rédigerons donc cette commande comme suit:

* * * * * Echo 'Exécuter cette commande toutes les 50 minutes' >> / TestFile / SampleFile.enregistrer

Cronjob Limites:

Serveur dédié et VPS: Dans ce cas, il n'existe aucune restriction à temps pour l'exécution de Cronjob.

Partagé et revendeur: Un cronjob peut ne pas être exécuté plus d'une fois toutes les 15 minutes.

Gestion des erreurs de cronjob:

Méthode 1: Utilisation / dev / null

Au lieu de recevoir une alerte par e-mail, vous pouvez facilement envoyer nos erreurs de cronjob et un journal à Dev / NULL. Tout ce que nous envoyons ou écrivons à dev / null est jeté.

* * * * * cd / home / linuxhint && / bin / bash shell-testscript.sh> / dev / null 2> & 1
  • Le "> / dev / null«Une partie de la commande demande à Cron de rediriger la sortie standard (stdout) vers / dev / null.
  • Le descripteur de fichier "2"Est pour une erreur standard (STDERR), tandis que le descripteur de fichiers de Standard Out est" 1 ".

Méthode 2: Envoi de sortie dans un fichier particulier

C'est une méthode populaire, et la plupart des utilisateurs préfèrent cette méthode. Dans cette méthode, vous devez créer un fichier pour enregistrer les journaux Cronjob. Si le travail est terminé avec succès, il imprimera la sortie; Sinon, il imprimera une erreur.

Nous avons créé un exemple de fichier journal à cet effet, nous rédigerons donc cette commande comme suit:

* * * * * cd / home / linuxhint && / bin / bash shell-testscript.sh >> échantillon.enregistrer

Ici:

  • Le "* * * *"Indique qu'une tâche sera effectuée toutes les 50 minutes de chaque heure, jour, chaque semaine et mois.
  • Le chemin et l'exécutable de Bash Shell sont «/ bac / bash".
  • Le répertoire sera changé en «/ Home / Linuxhint», Qui contient le shell-testScript.script.
  • Le ">>"Le symbole ajoute la sortie dans un fichier créé précédemment,"échantillon.enregistrer", Alors qu'un seul> symbole écrase le fichier.

Générateurs de syntaxe pour crontab:

D'après la démonstration de l'exemple, vous pouvez déterminer à quel point il est facile de planifier un cronjob. Parfois, vous ne pouvez pas mémoriser une syntaxe Cronjob particulière. Pour rendre le travail encore plus gérable, peu de générateurs de syntaxe sur le Web pour cron sont là pour vous. Maintenant, nous allons parler de quelques sites Web qui génèrent des expressions crontab. Ces expressions sont basées sur vos entrées. Copiez / collez simplement la ligne dans le fichier crontab de votre système après avoir généré l'expression de Crontab en fonction de votre exigence.

Générateur Crontab:

Crontab Generator est un outil Web qui vous permet de créer des expressions Crontab plus rapidement et sans effort. Ce site Web comprend un formulaire avec plusieurs entrées.

L'utilisateur doit remplir tous les champs essentiels dans les formulaires. Dans les champs, vous pouvez sélectionner la valeur de la commande de syntaxe selon vos besoins:

Ensuite, cet outil de générateur Crontab émettra une commande dans la section mise en évidence suivante. Copiez la commande générée, collez-la dans votre fichier crontab et vous avez terminé!

Crontab Guru:

Ce site Web est personnalisé pour fournir des exemples d'échantillons de cronjobs. Il vous suffit de saisir vos informations sur le site Web, et cela générera une syntaxe de Crontab dans quelques minutes.

Cronmaker:

Il s'agit d'un autre site Web qui est également construit dans le but de générer une syntaxe de commande Cronjob:

Fronts graphiques pour Crontab:

Certains utilitaires frontaux Crontab sont disponibles pour créer des tâches CRON à l'aide d'une interface utilisateur graphique. Pour gérer ou ajouter des tâches CRON, il n'est pas nécessaire de mettre à jour le fichier Crontab à partir de la ligne de commande. Ces outils feront de la gestion des cronjobs un jeu d'enfant!

Zeit:

Zeit est une application gratuite créée dans le langage informatique C ++. Selon la licence GPLV3, le code source de cette application est accessible sur GitHub. C'est une base de QT "crontab" et "à»Commande frontal. Nous pouvons utiliser Zeit pour les tâches suivantes:

  • Pour ajouter, modifier et supprimer les travaux Crontab.
  • Pour supprimer, modifier ou ajouter des variables d'environnement de Crontab.
  • Pour régler les alarmes et les minuteries.

Crontab UI:

Crontab UI est une solution Web pour gérer les cronjobs en Linux avec facilité et sécurité. Vous n'avez pas à modifier le fichier Crontab manuellement pour créer, supprimer et gérer les tâches CRON. En quelques clics de souris, vous pouvez tout faire dans ce navigateur Web. Crontab UI rend simple à créer, modifier, arrêter, supprimer et sauvegarder les tâches cron. Il joue également son rôle dans l'importation, l'exportation et le déploiement des cronjobs vers d'autres machines.

Conclusion:

Cron est un outil polyvalent et puissant qui peut vous aider avec une variété de tâches d'administration du système. Vous pouvez automatiser les opérations qui sont habituellement compliquées avec des scripts de coquille. Cet article comprend un guide complet de Crontab pour les débutants, qui a discuté de tout, y compris le travail de crontab, son utilisation, son installation sur Centos, des exemples de cronjobs pratiques et des générateurs de syntaxe Crontab.