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

Ordonner le système avec cron

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Avec le programme d'exécution automatique de scripts, cron, prenez en main les opérations régulières de maintenance automatique du système. En maîtrisant cron, vous pourrez ajouter vos propres opérations.
06:39

Transcription

Quand on a une machine qui fonctionne, dans cette machine-là il y a des tâches d’administration qui ont lieu de manière automatisée d’ailleurs, régulièrement. Quel genre de tâches ? Dans les tâches qui ont lieu, il va y avoir la rotation des logs faite par un outil qui s’appelle logrotate, il va y avoir par exemple l’analyse des logs avec logwatch, il peut y avoir le redémarrage d’un certain nombre de services, il peut y avoir la ré-indexation des fichiers du système, il peut y avoir la ré-indexation des pages du manuel, il peut y avoir beaucoup de choses qui ont lieu régulièrement. On va un petit peu creuser ça mais ce sont des opérations qui ont lieu de façon automatique, on n’a pas besoin explicitement de les mettre en place, elles ont lieu. Mais comment est-ce qu’elles ont lieu ? Elles ont lieu parce qu’on a sur la machine un daemon qui tourne, qui s’appelle cron. Voilà, je regarde : « ps -ef », j’affiche tous les processus et j’envoie le résultat de cette commande-là à la commande grep qui m’affichera que les lignes du résultat de cette commande-là, qui contiennent la chaine de caractères « cron ». Et là, je vois que j’ai un processus qui tourne, qui s’appelle crond. Ce processus-là va avoir plusieurs fonctions. Il va avoir une fonction pour les utilisateurs, de pouvoir déclencher certains éléments, certains scripts à certains moments de façon régulière d’une part et d’autre part pour le système, de lancer ces différentes tâches d’administration, ces opérations régulières. Alors, on va dans un premier cas, nous intéresser aux opérations qui sont réalisées au niveau du système. Au niveau du système, si je vais regarder dans le répertoire « /etc/ », si je regarde, j’ai différents... donc « ls -d » pour ne pas les voir dans les répertoires parce que ces répertoires, je vais les passer en paramètre, « cron.* », tout ce qui est en « cron. » quelque chose, voilà. J’ai ces répertoires-là qui existent. Et là, les répertoires qui vont m’intéresser ce sont surtout ceux-là. C’est surtout le « cron.daily », « cron.hourly », « cron.monthly » et « cron.weekly ». À quoi ils correspondent ? Dans les opérations qui ont lieu, on a vu par exemple que logwatch, c’était bien de le faire tourner tous les jours puisqu’il analysait les logs de la journée de la veille. Du coup, je vais vouloir lancer l’analyse des logs une fois par jour. Je ne saurais pas exactement quand dans la journée mais une fois par jour. Du coup, si je vais me placer dans le répertoire « cron.daily », voilà, je suis dans le répertoire « /etc/cron.daily », j’ai un certain nombre de fichiers qui sont présents. Et ces fichiers correspondent à des scripts qui seront exécutés sur la machine de façon quotidienne. Donc tous les jours, ces scripts-là seront exécutés. Le système en général les exécute tôt le matin, entre trois et sept heures du matin, très souvent. Et comme ça, quand on arrive au boulot, quand on vient devant la machine, les opérations de maintenance ont déjà été réalisées. Alors là, on peut regarder les opérations qu’il réalise. Ici, il y a un petit zéro devant, c’est pour être sûr que le nom vient avant les autres et il sera réalisé en premier, c’est logwatch. Donc première étape, qui a lieu de façon quotidienne, c’est l’analyse des logs. Ensuite, une fois qu’on a fait l’analyse des logs, il y a un script qui s’appelle logrotate, qui est appelé. Ce script logrotate, c’est un script qui fait appel à un programme qui est dans le système, qui va effectuer une rotation des logs. Une rotation des logs, c’est qu’on ne va pas garder des logs qui vont grossir ad vitam aeternam. Ce qu’on va faire, c’est qu’on va voir nos logs et régulièrement, on va renommer le fichier et puis on va garder un certain nombre de fichiers archivés. Ça me permet de garder suffisamment longtemps le log pour le besoin que je peux avoir et ça me permet d’éviter de conserver une quantité astronomique de logs qui vont finir par remplir mon disque dur. Le script suivant, « man-db.cron », qu’est-ce qu’il va faire lui ? Il va réindexer les pages du manuel. Alors à quoi ça correspond ? C’est que quand on fait une recherche par mot-clé au niveau du manuel, par exemple si je fais « man -k calendrier », je ne sais pas ce qu’il va me sortir mais voilà, il m’affiche toutes les pages du manuel qui contiennent le mot-clé « calendrier ». Et par conséquent, il a besoin d’indexer toutes les pages du manuel qui sont installées sur le système pour pouvoir après faire cette recherche de façon asynchrone. Là, quand j’ai fait mon « man -k », il n’est pas allé voir sur toutes les pages du manuel qui était installé quelles étaient celles qui contenaient le mot-clé « calendrier ». Non, il a mis ça dans une base de données. C’est effectué tous les jours, ce qui fait que quand j’installe une nouvelle page du manuel, dès le lendemain, les mots-clés contenus dans cette page du manuel seront accessibles avec le « man -k ». Et le mlocate sert à indexer tous les fichiers du système. Si jamais je fais un « locate calendar », voilà, il m’affiche tous les fichiers du système qui contiennent le mot « calendar ». Ici, on le voit il est marqué ici. Donc ça veut dire quoi ? Ça veut dire que pour me l’afficher, il a fallu qu’il indexe tous les fichiers de la machine. Donc ça a été fait par cette commande mlocate et c’est fait de façon quotidienne. Donc si jamais vous avez une opération, un script qui doit s’exécuter de façon quotidienne, il suffit de mettre le script dans ce répertoire-là. Ce sont des scripts système hein, ce ne sont pas des scripts pour les utilisateurs. Pour les utilisateurs, on va voir qu’on a d’autres outils pour le faire. Voilà, j’affiche par exemple le logwatch. Tout simplement, il appelle « LOGWATCH_SCRIPT ». « LOGWATCH_SCRIPT », c’est la commande logwatch et éventuellement, il lui met l’option « output mail », il ne lui laisse pas l’option « output stdout » pour afficher le résultat sur la sortie standard puisqu’avec cron, il n’y a pas de sortie standard. La sortie standard, c’est le terminal. Ici, il n’y a rien qui est connecté sur le terminal, ça a lieu en tâche de fond. Ça a lieu le matin, pas besoin d’être connecté pour que ça ait lieu, c’est le système qui va lancer ces différentes commandes-là. Donc il suffit de mettre le programme là-dedans, dans ce répertoire-là, pour qu’automatiquement il soit lancé. Alors, on peut aller jeter un petit coup d’œil sur les autres. Je fais Ctrl + L pour effacer la page, « ls -d cron.* », qu’est-ce que j’ai ? Donc ça c’était « .daily », je peux faire un « ls » de « cron.hourly » pour voir ce qui se passe toutes les heures. Il lance un outil qui s’appelle anacron. C’est un outil qui va m’assurer que si ma machine est éteinte, les tâches qui auraient dû avoir lieu pendant que ma machine était éteinte, elles auront quand même lieu. Parce que par exemple, si je dis : « l’indexation des pages du manuel va se faire tous les matins à trois heures du matin. » Très bien, seulement il est 20 heures, j’ai fini de travailler, j’éteins ma machine. Il est neuf heures, je viens au boulot, j’allume ma machine. Du coup, elle n’a pas eu lieu. Anacron, son boulot, c’est de voir : est-ce qu’il y a eu des tâches qui auraient dû être lancées à un moment donné et qui n’ont pas pu être lancées parce que la machine était arrêtée ? Si oui, il va les lancer, il va les reprogrammer, c’est le boulot de « anacron ». Toutes les heures on va regarder s’il n’y a pas de tâches qui sont passées à l’as et qui ont besoin d’être reprogrammées. Si je fais un « ls cron.monthly », c’est ce qui a lieu tous les mois. Là, il n’y a rien qui a lieu tous les mois. C’est une installation de base que j’ai faite de ma machine. Il n’y a pas grand-chose de particulièrement complexe dedans. C’est vraiment une installation de base. Et si je fais le « ls cron.weekly », il n’y a rien non plus. Là, on voit que tout ce qui a besoin d’être réalisé par le système et j’insiste sur le « par le système », il suffit d’avoir un script qui le réalise et qu’on place ce script-là dans le répertoire adéquat pour être sûr que l’opération a bien lieu régulièrement dans le système. Après, je n’ai même plus besoin de m’en préoccuper, ça a lieu de façon automatique, c’est cron qui va gérer ça tout seul comme un grand.

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
Votre/vos formateur(s) :
Date de parution :25 avr. 2017
Durée :2h16 (22 vidéos)

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 !