GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Planen von Updates in Linux mit yum-cron

Jedes Mal, wenn ich ein neues Skript für die Automatisierung einer Aufgabe einrichte, muss ich mir ein Cron-Beispiel ansehen oder nach einem googlen. Ich kann mich anscheinend nicht an die Syntax von crontab erinnern. Und so geht es mir seit 20 Jahren. Ich habe einen pathologischen Cronblock. Deshalb habe ich yum-cron entdeckt Paket, ich war ziemlich glücklich. Der yum-cron Paket übernimmt die Terminplanung für mich. Ich muss nur eine Änderung an der Konfigurationsdatei vornehmen und dann funktioniert alles. Hier ist ein kurzes Tutorial, um diese automatischen Updates noch heute einzuführen, ohne Ihr eigenes Skript zu erstellen oder mit cron zu ringen .

yum-cron - eine Schnittstelle, um yum bequem von cron aus aufzurufen

Installation

Es gibt nichts Besonderes, was Sie tun müssen, um yum-cron zu installieren da es Teil des Basis-Repositorys ist, holen Sie es sich einfach über dnf .

$ sudo dnf -y yum-cron

Der yum-cron command ist eigentlich ein Python-Skript, das Sie untersuchen können. Es wird in /sbin installiert , wenn Sie es sich ansehen möchten.

Konfiguration und Erstlauf

Nach der Installation müssen Sie die Standardkonfigurationsdatei bearbeiten, die /etc/yum/yum-cron.conf ist . Diese Datei richtet den täglichen Cron-Lauf ein, aber ich werde Ihnen auch gleich zeigen, wie Sie ihn ausführen. Öffnen Sie /etc/yum/yum-cron.conf mit Ihrem bevorzugten Editor und ändern Sie die folgenden zwei Zeilen von:

apply_updates = no
...
random_sleep = 360

An:

apply_updates = yes
...
random_sleep = 0

Das Ändern des Parameters random_sleep verursacht yum-cron sofort laufen. Der Grund ist random_sleep Parameter vorhanden ist, damit Sie nicht viel Bandbreite für gleichzeitig auftretende Updates verbrauchen.

[ Kostenloser Online-Kurs:Technischer Überblick zu Red Hat Enterprise Linux. ]

Stellen Sie yum-cron so ein, dass es jetzt und beim Systemstart ausgeführt wird

Als nächstes aktivieren Sie yum-cron automatisch beim Systemstart ausführen und dann starten.

$ sudo systemctl start yum-cron

$ sudo systemctl enable yum-cron

Überprüfen Sie nach einigen Minuten das yum.log, um festzustellen, ob Updates heruntergeladen und auf Ihr System angewendet wurden. Das Erscheinen von Updates kann etwas länger dauern, je nachdem, wie viele Updates Ihr System benötigt.

$ 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

Im obigen Screenshot können Sie sehen, dass ich mehrere Updates hatte. Ich habe mir nur die letzten zehn angesehen, um zu sehen, ob es überhaupt passiert ist. Das tat es.

Neukonfiguration

Nach dem ersten Lauf sollten Sie die /etc/yum/yum-cron.conf bearbeiten Datei erneut und stellen Sie den random_sleep wieder her -Parameter auf seinen ursprünglichen Wert von 360 wenn Sie mehr als eine Handvoll Server haben.

Zufälliges Zeug, das Sie vielleicht wissen möchten

Obwohl Sie yum-cron installiert und eingerichtet haben als root wirkt sich der Zeitplan nicht auf die crontab von root aus. Mit anderen Worten, es ist dort nicht aufgeführt. Den Zeitplan finden Sie geschickt versteckt unter /etc/cron.daily in einer Datei namens 0yum-daily.cron . Sie können auch die /etc/yum/yum-cron-hourly.conf konfigurieren stündlich laufen. Ähnlich wie bei der täglichen Ausführung befindet sich die stündliche Zeitplandatei unter /etc/cron.hourly als 0yum-hourly.cron .

Wenn Sie Sicherheitsupdates nur über yum-cron installieren möchten , ändern Sie update_cmd Parameter in /etc/yum/yum-cron.conf zu "security" oder anderen Werten wie folgt:

[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

Der yum-cron Manpage ist fast nutzlos, außer um Ihnen zu sagen, dass Sie verschiedene Konfigurationsdateien erstellen und verwenden können, die in /sbin/yum-cron angegeben werden müssen Python-Skript als default_config_file . Das Hinzufügen eines neuen Repositorys wie EPEL erfordert keine zusätzliche Konfiguration von yum-cron . Es wird versuchen, von allen Repositorys zu aktualisieren, unabhängig davon, wann Sie sie hinzugefügt haben, und ohne yum-cron neu zu starten Dienst.

Wenn ich immer noch Hunderte oder sogar Dutzende von Linux-Systemen verwalten würde, würde ich yum-cron verwenden . Ich würde auch yum-cron installieren und verteilen Sie yum-cron.conf Dateien über Ansible, um zu vermeiden, jedes einzelne System einzeln zu berühren.

Abschluss

Der yum-cron Paket ist für mich ein einfach zu installierendes und zu verwendendes Dienstprogramm. Als Systemadministrator benötige ich Automatisierungs- und „schrittsparende“ Anwendungen, um bei der Verwaltung von Linux-Systemen zu helfen. Mir gefällt auch, dass das Programm leichtgewichtig ist und im Wesentlichen ein Python-Skript ist. Es enthält Konfigurationsdateien, die ich an meine Bedürfnisse anpassen kann. Ehrlich gesagt, yum-cron wird als eines der wesentlichen Sysadmin-Dienstprogramme in meine Toolbox aufgenommen, die ich während meiner gesamten Karriere und auf jedem System, das ich verwalte, weiterhin verwenden werde.

[ Kostenloser Download:Spickzettel für fortgeschrittene Linux-Befehle. ]


Linux
  1. Identifizieren Sie Sicherheitseigenschaften unter Linux mit checksec

  2. Debuggen Sie Linux mit ProcDump

  3. Fehlerbehebung mit dem proc-Dateisystem unter Linux

  4. Verwenden des Befehls ripgrep (rg) unter Linux

  5. 50 UNIX / Linux Sysadmin-Tutorials

So listen Sie installierte Pakete in Linux auf

Installieren Sie MongoDB mit Vagrant unter Linux

Planen einer Aufgabe unter Linux mit Crontab

Verwenden des Watch-Befehls unter Linux

Cut auf Linux Terminal verwenden

So listen Sie installierte Pakete in Linux mithilfe der Paketverwaltung auf