Chaque fois que je configure un nouveau script pour l'automatisation d'une tâche, je dois regarder un exemple cron, ou je dois en chercher un sur Google. Je n'arrive pas à me souvenir de la syntaxe de crontab. Et c'est comme ça pour moi depuis 20 ans. J'ai un bloc de cron pathologique. C'est pourquoi quand j'ai découvert le yum-cron
paquet, j'étais plutôt content. Le yum-cron
package s'occupe de la planification pour moi. Je n'ai qu'à apporter une modification au fichier de configuration et tout fonctionne. Voici un court tutoriel pour obtenir ces mises à jour automatiques aujourd'hui sans créer votre propre script ou lutter avec cron
.
yum-cron - une interface pour appeler facilement yum depuis cron
Installation
Vous n'avez rien de spécial à faire pour installer yum-cron
car il fait partie du référentiel de base, alors récupérez-le simplement via dnf
.
$ sudo dnf -y yum-cron
Le yum-cron
La commande est en fait un script Python que vous pouvez examiner. Il s'installe dans /sbin
, si vous voulez le vérifier.
Configuration et première exécution
Une fois installé, vous devez modifier le fichier de configuration par défaut, qui est /etc/yum/yum-cron.conf
. Ce fichier configure l'exécution cron quotidienne, mais je vais également vous montrer comment l'exécuter immédiatement. Ouvrez /etc/yum/yum-cron.conf
avec votre éditeur préféré et changez les deux lignes suivantes de :
apply_updates = no
...
random_sleep = 360
À :
apply_updates = yes
...
random_sleep = 0
Changer le paramètre random_sleep provoque yum-cron
courir immédiatement. La raison pour laquelle random_sleep
Le paramètre existe afin que vous ne grignotiez pas beaucoup de bande passante pour les mises à jour se produisant toutes en même temps.
[ Cours en ligne gratuit :Présentation technique de Red Hat Enterprise Linux. ]
Configurer yum-cron pour qu'il s'exécute maintenant et au démarrage du système
Ensuite, activez yum-cron
pour s'exécuter automatiquement au démarrage du système, puis le démarrer.
$ sudo systemctl start yum-cron
$ sudo systemctl enable yum-cron
Après quelques minutes, vérifiez le yum.log pour voir si des mises à jour ont été téléchargées et appliquées à votre système. L'apparition des mises à jour peut prendre un peu plus de temps en fonction du nombre de mises à jour requises par votre système.
$ sudo tail -10 /var/log/yum.log
Aug 04 10:59:54 Installed: libmodman-2.0.1-8.el7.x86_64
Aug 04 10:59:54 Installed: libproxy-0.4.11-11.el7.x86_64
Aug 04 10:59:54 Installed: glib-networking-2.56.1-1.el7.x86_64
Aug 04 10:59:54 Installed: cockpit-bridge-195.6-1.el7.centos.x86_64
Aug 04 10:59:55 Installed: cockpit-system-195.6-1.el7.centos.noarch
Aug 04 10:59:55 Installed: cockpit-ws-195.6-1.el7.centos.x86_64
Aug 04 10:59:55 Installed: cockpit-195.6-1.el7.centos.x86_64
Aug 04 16:47:55 Installed: python-chardet-2.2.1-3.el7.noarch
Aug 04 16:47:55 Installed: python-kitchen-1.1.1-5.el7.noarch
Aug 04 16:47:55 Installed: yum-utils-1.1.31-54.el7_8.noarch
Dans la capture d'écran ci-dessus, vous pouvez voir que j'ai eu plusieurs mises à jour. Je n'ai regardé que les dix derniers pour voir si cela s'était produit. C'est fait.
Reconfiguration
Après l'exécution initiale, vous devez modifier le /etc/yum/yum-cron.conf
fichier à nouveau et restaurer le random_sleep
paramètre à sa valeur d'origine de 360
si vous avez plus d'une poignée de serveurs.
Des choses aléatoires que vous voudrez peut-être savoir
Bien que vous ayez installé et configuré yum-cron
en tant que root, la planification n'affecte pas la crontab de root. En d'autres termes, il n'y est pas répertorié. Vous trouverez le planning astucieusement caché sous /etc/cron.daily
dans un fichier nommé 0yum-daily.cron
. Vous pouvez également configurer le /etc/yum/yum-cron-hourly.conf
courir toutes les heures. Semblable à l'exécution quotidienne, le fichier de planification horaire réside sous /etc/cron.hourly
comme 0yum-hourly.cron
.
Si vous souhaitez uniquement installer les mises à jour de sécurité via yum-cron
, modifiez le update_cmd
paramètre dans /etc/yum/yum-cron.conf
à "sécurité" ou à d'autres valeurs comme suit :
[commands]
# What kind of update to use:
# default = yum upgrade
# security = yum --security upgrade
# security-severity:Critical = yum --sec-severity=Critical upgrade
# minimal = yum --bugfix update-minimal
# minimal-security = yum --security update-minimal
# minimal-security-severity:Critical = --sec-severity=Critical update-minimal
update_cmd = default
Le yum-cron
la page de manuel est presque inutile sauf pour vous dire que vous pouvez créer et utiliser différents fichiers de configuration qui doivent être spécifiés dans le /sbin/yum-cron
Script Python en tant que default_config_file
. L'ajout d'un nouveau référentiel, tel que EPEL, ne nécessite aucune configuration supplémentaire de yum-cron
. Il tentera de se mettre à jour à partir de tous les référentiels, quel que soit le moment où vous les avez ajoutés et sans redémarrer le yum-cron
services.
Si je gérais encore des centaines, voire des dizaines de systèmes Linux, j'utiliserais yum-cron
. J'installerais aussi yum-cron
et distribuez yum-cron.conf
fichiers via Ansible pour éviter de toucher individuellement chaque système.
Récapitulez
Le yum-cron
package est un utilitaire facile à installer et à utiliser pour moi. En tant qu'administrateur système, j'ai besoin d'applications d'automatisation et de "sauvegarde d'étapes" pour m'aider à administrer les systèmes Linux. J'aime aussi le fait que le programme soit léger et soit essentiellement un script Python. Il contient des fichiers de configuration que je peux modifier pour répondre à mes besoins. Honnêtement, yum-cron
entre dans ma boîte à outils comme l'un des utilitaires d'administration système essentiels que je continuerai à utiliser tout au long de ma carrière et sur tous les systèmes que je gère.
[ Téléchargement gratuit :Aide-mémoire sur les commandes avancées de Linux. ]