Comment créer et gérer des travaux Cron sur Linux

Comment créer et gérer des travaux Cron sur Linux

Cron est l'un des outils les plus utiles de Linux et un favori des développeurs car il vous permet d'exécuter des commandes automatisées à des périodes, des dates et des intervalles spécifiques en utilisant à la fois des scripts à usage général et spécifiques à la tâche. Compte tenu de cette description, vous pouvez imaginer comment les administrateurs du système l'utilisent pour automatiser les tâches de sauvegarde, le nettoyage des répertoires, les notifications, etc.

Les travaux Cron s'exécutent en arrière-plan et vérifient constamment le / etc / crontab fichier, et le / etc / cron.* / et / var / spool / cron / répertoires. Les fichiers cron ne sont pas censés être modifiés directement et chaque utilisateur a un crontab unique.

Comment alors êtes-vous censé créer et éditer des travaux cron? Avec des commandes crontab. Le crontab est la méthode que vous utilisez pour créer, modifier, installer, désinstaller et répertorier les travaux CRON.

La commande de création et d'édition de travaux CRON est la même et simple. Et ce qui est encore plus cool, c'est que vous n'avez pas besoin de redémarrer Cron après avoir créé de nouveaux fichiers ou éditant ceux existants.

$ crontab -e 

Syntaxe cron

Tout comme c'est avec n'importe quelle langue, travailler avec cron est beaucoup plus facile lorsque vous comprenez sa syntaxe et qu'il y a 2 formats que vous devez connaître:

A B C D E Nom d'utilisateur / Path / To / Command Arg1 Arg2 ou A B C D E Nom d'utilisateur / Root / Backup.shot 

Explication de la syntaxe Cron ci-dessus:

  • R: Minutes gamme: 0 - 59
  • B: heures gamme: 0 - 23
  • C: jours gamme: 0 - 31
  • D: mois gamme: 0 - 12
  • E: jours de la semaine gamme: 0 - 7. À partir du lundi, 0 ou 7 représente le dimanche
  • NOM D'UTILISATEUR: Remplacez ceci par votre nom d'utilisateur
  • / path / vers / commande - Le nom du script ou de la commande que vous souhaitez planifier

Ce n'est pas tout. Cron utilise 3 symboles d'opérateur qui vous permettent de spécifier plusieurs valeurs dans un champ:

  1. Astérisque (*): Spécifie toutes les valeurs possibles pour un champ
  2. La virgule (,): Spécifie une liste de valeurs
  3. Se précipiter (-): Spécifie une gamme de valeurs
  4. Séparateur (/): Spécifie une valeur de pas

Maintenant que vous connaissez la syntaxe et les opérateurs de Cron, voyons quelques exemples de cron.

Exemples de travail Cron

La première étape pour exécuter les commandes CRON consiste à installer votre crontab avec la commande:

# crontab -e 

Courir / Root / Backup.shot à 3 h tous les jours:

0 3 * * * / Root / Backup.shot 

Courir scénario.shot à 16h30 le deuxième de chaque mois:

30 16 2 * * / chemin / vers / script.shot

Courir / scripts / phpscript.php à 22 h au cours de la semaine:

0 22 * ​​* 1-5 / scripts / phpscript.php

Courir perlscript.PL à 23 minutes Après minuit, 2h et 4h du matin, tous les jours:

23 0-23 / 2 * * * / path / to / perlscript.PL

Exécutez la commande Linux à 04:05 tous les dimanches:

5 4 * * Sun / Path / To / LinuxCommand

Options cron

Liste des travaux de cron.

# crontab -l ou # crontab -u nom d'utilisateur -l 

Supprimer tous les emplois crontab.

# crontab -r 

Supprimer le travail cron pour un utilisateur spécifique.

# crontab -r -u nom d'utilisateur 

Strings à Crontab

Les cordes sont parmi les choses préférées du développeur car elles aident à gagner du temps en éliminant l'écriture répétitive. Cron a des chaînes spécifiques que vous pouvez utiliser pour créer des commandes plus rapidement:

  1. @hourly: Courez une fois toutes les heures.e. "0 * * * *"
  2. @minuit: Courez une fois tous les jours.e. "0 0 * * *"
  3. @quotidien: Identique à minuit
  4. @hebdomadaire: Courir une fois par semaine, je.e. "0 0 * * 0"
  5. @mensuel: Courir une fois par mois.e. "0 0 1 * *"
  6. @annuellement: Courez une fois par année.e. "0 0 1 1 *"
  7. @annuel: pareil que @annuellement
  8. @reboot: Exécutez une fois à chaque startup

Par exemple, c'est comment sauvegarder votre système tous les jours:

@Daily / Path / To / Backup / Script.shot

À ce stade, vous avez tout ce dont vous avez besoin pour créer et gérer les tâches système en utilisant Cron. Vous pouvez maintenant commencer à configurer et à maintenir plusieurs environnements à l'aide de commandes planifiées.

Quelle part d'un utilisateur cron êtes-vous? Et existe-t-il des détails que vous pouvez contribuer à l'article? La boîte de discussion est ci-dessous.

Lorsque vous comprenez suffisamment le fonctionnement de Crontab.

En outre, vous pouvez lire l'article d'Ubuntu sur la façon d'utiliser Cron ici. Il dispose de ressources que vous pourriez trouver utiles.