Ogni volta che imposti un nuovo script per l'automazione di alcune attività, devo guardare un esempio di cron o devo farlo su Google per uno. Non riesco a ricordare la sintassi di crontab. Ed è stato così per me negli ultimi 20 anni. Ho qualche blocco cron patologico. Ecco perché quando ho scoperto yum-cron
pacchetto, ero abbastanza felice. Il yum-cron
il pacchetto si occupa della programmazione per me. Devo solo apportare una modifica al file di configurazione e quindi tutto funziona. Ecco un breve tutorial per ottenere quegli aggiornamenti automatici in arrivo oggi senza creare il tuo script o lottare con cron
.
yum-cron - un'interfaccia per chiamare comodamente yum da cron
Installazione
Non c'è niente di speciale che devi fare per installare yum-cron
perché fa parte del repository di base, quindi prendilo tramite dnf
.
$ sudo dnf -y yum-cron
Il yum-cron
command è in realtà uno script Python che puoi esaminare. Si installa in /sbin
, se vuoi dai un'occhiata.
Configurazione e prima esecuzione
Una volta installato, è necessario modificare il file di configurazione predefinito, che è /etc/yum/yum-cron.conf
. Questo file imposta l'esecuzione giornaliera di cron, ma ti mostrerò anche come eseguirlo immediatamente. Apri /etc/yum/yum-cron.conf
con il tuo editor preferito e modifica le seguenti due righe da:
apply_updates = no
...
random_sleep = 360
A:
apply_updates = yes
...
random_sleep = 0
La modifica del parametro random_sleep provoca yum-cron
per correre subito. Il motivo del random_sleep
parametro esiste è in modo da non consumare molta larghezza di banda per gli aggiornamenti che si verificano tutti contemporaneamente.
[ Corso online gratuito:panoramica tecnica di Red Hat Enterprise Linux. ]
Imposta yum-cron per l'esecuzione ora e all'avvio del sistema
Quindi, abilita yum-cron
per eseguire automaticamente all'avvio del sistema e quindi avviarlo.
$ sudo systemctl start yum-cron
$ sudo systemctl enable yum-cron
Dopo alcuni minuti, controlla yum.log per vedere se sono stati scaricati aggiornamenti e applicati al tuo sistema. La visualizzazione degli aggiornamenti potrebbe richiedere un po' più di tempo a seconda del numero di aggiornamenti richiesti dal tuo sistema.
$ 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
Nello screenshot sopra, puoi vedere che ho avuto diversi aggiornamenti. Ho guardato solo gli ultimi dieci per vedere se fosse successo. Lo ha fatto.
Riconfigurazione
Dopo l'esecuzione iniziale, dovresti modificare /etc/yum/yum-cron.conf
file di nuovo e ripristina il random_sleep
parametro al suo valore originale di 360
se hai più di una manciata di server.
Cose casuali che potresti voler sapere
Sebbene tu abbia installato e configurato yum-cron
come root, la pianificazione non influisce sul crontab di root. In altre parole, non è elencato lì. Troverai la pianificazione nascosta in modo intelligente in /etc/cron.daily
in un file chiamato 0yum-daily.cron
. Puoi anche configurare /etc/yum/yum-cron-hourly.conf
per funzionare ogni ora. Simile all'esecuzione giornaliera, il file di pianificazione oraria risiede in /etc/cron.hourly
come 0yum-hourly.cron
.
Se desideri installare gli aggiornamenti di sicurezza solo tramite yum-cron
, cambia il update_cmd
parametro in /etc/yum/yum-cron.conf
a "sicurezza" o altri valori come segue:
[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
Il yum-cron
la pagina man è quasi inutile se non per dirti che puoi creare e usare diversi file di configurazione che devono essere specificati in /sbin/yum-cron
Script Python come default_config_file
. L'aggiunta di un nuovo repository, come EPEL, non richiede alcuna configurazione aggiuntiva di yum-cron
. Tenterà di aggiornare da tutti i repository indipendentemente da quando li hai aggiunti e senza riavviare yum-cron
servizio.
Se dovessi ancora gestire centinaia, o addirittura dozzine, di sistemi Linux, userei yum-cron
. Installerei anche yum-cron
e distribuisci yum-cron.conf
file tramite Ansible per evitare di toccare singolarmente ogni singolo sistema.
Concludi
Il yum-cron
pacchetto è un'utilità facile da installare e utilizzare per me. In qualità di amministratore di sistema, ho bisogno di applicazioni di automazione e "salva-passi" per aiutare ad amministrare i sistemi Linux. Mi piace anche che il programma sia leggero ed è essenzialmente uno script Python. Ha file di configurazione che posso modificare per soddisfare le mie esigenze. Onestamente, yum-cron
sta entrando nella mia cassetta degli attrezzi come una delle utilità di amministrazione di sistema essenziali che continuerò a utilizzare per tutta la mia carriera e su ogni sistema che gestisco.
[ Download gratuito:cheat sheet dei comandi avanzati di Linux. ]