Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Linux : Les services système

Lancer des tâches ponctuelles

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Programmez des tâches plus ponctuelles avec at. L'exécution de la commande se fera une seule fois, à un moment précis.
05:10

Transcription

Alors la commande cron, c'est une commande qui est formidable quand on veut lancer différentes tâches de façon régulière c'est-à-dire régulière et cyclique, à une fréquence qu'on aura établie, cette fréquence était donnée en élément temporaire : tous les lundis, tous les premiers du mois, une fois par an, tous les 1er janvier etc. Quelques fois, ça ne correspond pas à notre besoin et quelques fois on va vouloir plutôt lancer une tâche de façon ponctuelle. On la lance une fois mais pas tout de suite. On veut la lancer dans 2h, demain, à une date précise mais une fois lancée, on n'a pas besoin de la répéter. Donc cron dans ce cas-là n'est absolument pas adaptée, à la place on va plutôt utiliser la commande at. Ici, je tape la commande at. at n'est pas content car je ne lui ai pas dit quand j'allai lancer ma commande donc il dit que l'heure à laquelle je veux la lancer n'est pas la bonne mais c'est pour vous donner cette commande at qui veut dire à tel moment, dans ce contexte. Et par exemple, je pourrais dire que at 9:30 pm Sunday, c'est à 9h30 du soir dimanche et là j'ai un prompt qui apparaît. Donc derrière la commande at, on va pouvoir préciser quand est-ce qu'on souhaite lancer la tâche que l'on souhaite exécuter. Là je l'exécute à 9h30 de l'après-midi un dimanche et puis je peux taper les commandes que je souhaite exécuter dimanche à 9h30. "echo bonjour" que je redirige dans le fichier /tmp/ dimanche-21-30. Là je vais dire que j'ai fini d'entrer mes directives, les différentes commandes que je veux exécuter dimanche à 21h30. Je vais faire Ctrl+D. Là j'ai un premier job, c'est comme ça que ça s'appelle. J'ai une première tâche qui a été programmée. Donc elle aura lieu dimanche 2 avril à 21h30. Il y a plusieurs manières de dire à quelle heure on veut réaliser les opérations. On peut faire comme ça, je peux également faire at 22:30 Sunday, il va l'accepter. Je vais faire echo bonjour encore /tmp/dimanche-22-30, donc ce n'est pas la même heure. Ctrl+D et là effectivement à 22h30 il va s'exécuter. Je peux donner la notation anglo-saxonne, je peux donner la notation sur 24h mais j'ai également la possibilité de programmer des tâches non pas à une heure donnée mais je peux programmer des tâches après une période par rapport à maintenant. Je peux tout à fait dire at now, le mot anglais pour maintenant, +10 mn. Et là qu'est-ce que je vais faire ? Je lance une autre opération, je fais des petits echo parce que ça va être facile à voir. "dans 10 mn", je redirige ça dans le fichier /tmp/test_ de_at. Je fais Ctrl+D quand j'ai fini mon opération. Et là si je regarde quelle heure il est maintenant. Il est 15h40 et à 15h50, cette commande-là va s'exécuter. Donc ce qui est important de bien comprendre avec cette commande at, c'est que la tâche s'exécutera qu'une seule fois. Et je vais pouvoir préciser quand est-ce qu'elle s'exécute de différentes manières. Je peux même aller très loin. Puisque je peux dedans donner des dates qui vont s'exécuter dans très longtemps. Je peux tout à fait donner une information disant at now +10 years. Dans 10 ans, j'exécuterai la tache que je vais décrire ici "echo je suis vieux " dans /tmp/plusvieuxdedixans, Ctrl+D. Et quand j'ai ça, cette tâche est programmée et va s'exécuter dans 10 ans. Là j'ai programmé plein de tâches avec différentes syntaxes. Dans la page de manuel de at on a différentes syntaxes qu'on peut utiliser mais là on a un petit aperçu du comment de le faire. Évidemment, on peut mettre dans 1h, dans 10 mn, dans 1 jour, 1 semaine, 1 mois, 1 an, 3 semaines, etc. On peut préciser, donner une date. Là je disais 22h30 dimanche et je peux donner la date. Je vous laisse allez regarder le format dans la page du manuel. Mais le problème c'est que j'ai plein de tâches qui sont programmées. Comment je vais pouvoir d'une part voir les tâches programmées, puisque c'est utilisateur par utilisateur, et d'autre part comment je peux supprimer une tâche que j'ai programmée, que finalement je n'ai pas besoin d'exécuter ? Pour ça, j'ai la commance atq qui va m'afficher la file d'attente de toutes les tâches qui ont été programmées. Là je sais que j'ai celle-là qui a été programmée, c'est la tâche n°1, la première tâche qui avait lieu et puis la dernière c'est celle-là. C'est celle dans 10 ans, on voit c'est en 2027 qu'elle va s'exécuter. C'est l'utilisateur Yves qui va les exécuter et je n'ai pas le détail mais je sais que ces tâches-là elles sont programmées. Si jamais je souhaite supprimer la dernière par exemple, la 4. Dans 10 ans finalement je n'ai pas besoin d'écrire ça. Je vais utiliser la commande atrm et je vais donner le numéro de la tâche. C'est pour ça que je dois faire atq avant pour connaître le numéro de la tâche. Donc je fais atrm 4. Il me dit plus rien mais si je rappelle mon atq, q comme la queue, je n'ai plus la tâche n°4.

Linux : Les services système

Découvrez les services qui tournent en permanence sur votre système et adaptez-les en fonction de vos besoins. Abordez la gestion des logs, la synchronisation horaire, etc.

2h16 (22 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Thématiques :
IT
Systèmes d'exploitation
Spécial abonnés
Date de parution :25 avr. 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !