Pokaždé, když nastavuji nový skript pro automatizaci nějaké úlohy, musím se podívat na příklad cronu, nebo si ho musím vyhledat v Googlu. Zdá se, že si nepamatuji syntaxi crontabu. A takhle to pro mě bylo posledních 20 let. Mám nějaký patologický cron blok. Proto, když jsem objevil yum-cron
balíček, byla jsem velmi spokojená. yum-cron
balíček se postará o plánování za mě. Stačí provést jednu změnu v konfiguračním souboru a pak vše funguje. Zde je krátký návod, jak tyto automatické aktualizace spustit již dnes, aniž byste museli vytvářet vlastní skript nebo zápasit s cron
.
yum-cron – rozhraní pro pohodlné volání yum z cronu
Instalace
Pro instalaci yum-cron
nemusíte dělat nic zvláštního protože je součástí základního repozitáře, tak jej jednoduše vezměte přes dnf
.
$ sudo dnf -y yum-cron
yum-cron
příkaz je ve skutečnosti skript Pythonu, který můžete prozkoumat. Instaluje se do /sbin
, pokud se na to chcete podívat.
Konfigurace a první spuštění
Po instalaci je třeba upravit výchozí konfigurační soubor, kterým je /etc/yum/yum-cron.conf
. Tento soubor nastavuje denní běh cronu, ale ukážu vám, jak jej také okamžitě spustit. Otevřete /etc/yum/yum-cron.conf
pomocí svého oblíbeného editoru a změňte následující dva řádky z:
apply_updates = no
...
random_sleep = 360
Komu:
apply_updates = yes
...
random_sleep = 0
Změna parametru random_sleep způsobí yum-cron
okamžitě běžet. Důvod random_sleep
Parametr existuje, abyste nezkrátili velkou šířku pásma pro aktualizace, které probíhají všechny současně.
[ Bezplatný online kurz:Technický přehled Red Hat Enterprise Linux. ]
Nastavte yum-cron tak, aby se spouštěl nyní a při startu systému
Dále povolte yum-cron
automaticky spustit při spouštění systému a poté jej spustit.
$ sudo systemctl start yum-cron
$ sudo systemctl enable yum-cron
Po několika minutách zkontrolujte yum.log a zjistěte, zda nebyly staženy a použity nějaké aktualizace do vašeho systému. Zobrazení aktualizací může trvat o něco déle v závislosti na tom, kolik aktualizací váš systém vyžaduje.
$ 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
Na výše uvedeném snímku obrazovky můžete vidět, že jsem měl několik aktualizací. Podíval jsem se jen na posledních deset, jestli se to vůbec stalo. Stalo.
Rekonfigurace
Po úvodním spuštění byste měli upravit /etc/yum/yum-cron.conf
soubor znovu a obnovte random_sleep
parametr na původní hodnotu 360
pokud máte více než hrstku serverů.
Náhodné věci, které byste mohli chtít vědět
Přestože jste nainstalovali a nastavili yum-cron
jako root nemá plán crontab roota. Jinými slovy, není tam uveden. Rozvrh najdete chytře schovaný pod /etc/cron.daily
v souboru s názvem 0yum-daily.cron
. Můžete také nakonfigurovat /etc/yum/yum-cron-hourly.conf
běžet každou hodinu. Podobně jako u denního běhu je soubor hodinového plánu umístěn pod /etc/cron.hourly
jako 0yum-hourly.cron
.
Pokud chcete instalovat aktualizace zabezpečení pouze pomocí yum-cron
, změňte update_cmd
parametr v /etc/yum/yum-cron.conf
na "zabezpečení" nebo jiné hodnoty takto:
[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
yum-cron
manuálová stránka je téměř k ničemu kromě toho, že vám říká, že můžete vytvářet a používat různé konfigurační soubory, které musí být specifikovány v /sbin/yum-cron
Python skript jako default_config_file
. Přidání nového úložiště, jako je EPEL, nevyžaduje žádnou extra konfiguraci yum-cron
. Pokusí se aktualizovat ze všech úložišť bez ohledu na to, kdy jste je přidali, a bez restartování yum-cron
službu.
Kdybych stále spravoval stovky nebo dokonce desítky linuxových systémů, použil bych yum-cron
. Také bych nainstaloval yum-cron
a distribuovat yum-cron.conf
soubory přes Ansible, abyste se vyhnuli individuálnímu dotyku každého jednotlivého systému.
Sbalit
yum-cron
package je pro mě snadno instalovatelný a použitelný nástroj. Jako správce systému potřebuji automatizační a „krokové“ aplikace, které mi pomohou se správou linuxových systémů. Také se mi líbí, že program je lehký a v podstatě jde o skript Python. Obsahuje konfigurační soubory, které mohu upravit podle svých potřeb. Upřímně, yum-cron
se dostává do mého toolboxu jako jeden ze základních nástrojů systémového administrátora, který budu nadále používat během své kariéry a na každém systému, který spravuji.
[ Zdarma ke stažení:Cheat sheet pro pokročilé příkazy Linuxu. ]