Terminal 101 Création de tâches cron
CommentChaque lundi, nous vous montrerons comment faire quelque chose de nouveau et de simple avec l'application de ligne de commande intégrée d'Apple. Vous n'avez besoin d'aucun logiciel sophistiqué, ou d'une connaissance du codage pour faire tout cela. Tout ce dont vous avez besoin, c'est d'un clavier pour les taper!
Il est souvent nécessaire d'exécuter un script ou une commande shell à intervalles réguliers. Cela peut consister à nettoyer votre système ou à exécuter des tâches de maintenance sur votre ordinateur. Pour ces travaux, vous voudrez utiliser quelque chose appelé "Crons". Un travail cron est un moyen simple de spécifier une commande et un intervalle d'exécution sur le système d'exploitation. Nous allons vous montrer comment créer ces emplois et comment les supprimer lorsqu'ils deviennent inutiles..
La syntaxe du travail périodique
Lorsque vous spécifiez l'heure à laquelle un cron doit être exécuté, une syntaxe spécialisée est utilisée pour indiquer au système d'exploitation le moment exact où exécuter la tâche..
La séquence de synchronisation d'un travail cron ressemble à ceci:
* * * * *
- Le premier astérisque sert à spécifier la minute de la course (0-59)
- Le deuxième astérisque sert à spécifier l'heure de la course (0-23)
- Le troisième astérisque sert à spécifier le jour du mois pour l'exécution (1-31)
- Le quatrième astérisque sert à spécifier le mois de la course (1-12)
- Le cinquième astérisque sert à spécifier le jour de la semaine (où dimanche est égal à 0 et jusqu'à samedi est égal à 6)
Voyons quelques exemples:
Si vous souhaitez exécuter le travail tous les jours à 13h00, vous pouvez utiliser la séquence de synchronisation du travail cron suivante:
0 13 * * *
Si vous souhaitez que le travail s'exécute toutes les 30 minutes, vous pouvez utiliser la séquence suivante:
30 * * * *
Enfin, si vous souhaitez que le travail soit exécuté une fois par semaine le mercredi, vous pouvez taper la séquence suivante:
* * * * 3
Si vous avez des exigences plus complexes pour les temps d'exécution des tâches cron, vous pouvez consulter ce guide pour plus de détails sur la façon de formater la séquence..
Notez que si vous n'utilisez pas un élément spécifique, vous pouvez le remplacer par un astérisque (*) et le cron ne l'inclura pas dans la séquence temporelle. Notez qu'entre les astérisques, il y a des onglets utilisés, et non des espaces (donc, ne copiez rien d'ici et ne les collez), mais tapez avec des onglets.
Créer une tâche cron
Une fois que vous avez défini la séquence, créer le travail est la partie la plus facile. Nous utiliserons nano pour créer une entrée de fichier crontab contenant la séquence de minutage que vous avez calculée, ainsi que la commande (ou l'emplacement du script) que vous souhaitez exécuter..
Pour commencer à créer le fichier cron, tapez la commande suivante:
env EDITEUR = nano crontab -e
Cela indique à la commande "crontab" d'ouvrir un nouveau fichier dans l'éditeur de texte nano. Toutes vos tâches cron seront placées dans ce fichier texte, chacune sur une nouvelle ligne. Une fois que l'éditeur nano est chargé, vous tapez les tâches cron comme ceci:
[séquence de synchronisation] commandToRun
Remplacez "[séquence de synchronisation]" par la séquence de synchronisation du travail cron que vous avez élaborée à la première étape. Cela indiquera au programme crontab quand exécuter la commande. Remplacez "commandToRun" par la commande réelle (ou le chemin d'un script shell) que vous souhaitez exécuter à l'heure indiquée dans la séquence de minutage.
Si vous souhaitez entrer plusieurs tâches cron, entrez chaque cron sur une ligne distincte du fichier..
Pour enregistrer le fichier, appuyez sur Ctrl + O (pour écrire le fichier), puis entrez pour accepter le nom du fichier, puis appuyez sur Ctrl + X (pour quitter nano)..
Si tout se passe bien, vous devriez maintenant créer un travail cron. Si le cron a été créé correctement, alors vous devriez voir "crontab: installer une nouvelle crontab".
Votre commande (ou script shell) commencera alors à s'exécuter à la séquence de temps programmée.
Suppression des tâches cron
Il se peut que vous ne souhaitiez plus exécuter un travail cron à un moment donné. À ce moment-là, vous pouvez simplement éditer le fichier en tapant à nouveau dans la commande suivante:
env EDITEUR = nano crontab -e
Supprimez la ligne contenant la commande que vous ne souhaitez plus utiliser, puis réenregistrez le fichier en appuyant sur Ctrl + O (pour écrire le fichier), puis sur Ctrl + X (pour quitter nano)..
Liste des tâches programmées
Vous pouvez voir combien de tâches sont actuellement planifiées à l'intérieur de cron en tapant la commande suivante:
crontab -l
Ceci listera les tâches actuellement planifiées, un par un à l'intérieur du Terminal sans avoir à ouvrir le fichier crontab dans l'éditeur de texte..
Cory Bohon est un rédacteur technique indépendant, développeur indépendant sur Mac et iOS et photographe amateur. Suivez l'auteur de cet article sur Twitter.