Cada vez que configuro un nuevo script para la automatización de alguna tarea, tengo que mirar un ejemplo de cron, o tengo que buscar uno en Google. Parece que no puedo recordar la sintaxis de crontab. Y ha sido así para mí durante los últimos 20 años. Tengo un bloqueo de cron patológico. Por eso, cuando descubrí el yum-cron
paquete, yo estaba muy feliz. El yum-cron
package se encarga de la programación por mí. Solo tengo que hacer un cambio en el archivo de configuración y luego todo funciona. Aquí hay un breve tutorial para implementar esas actualizaciones automáticas hoy sin crear su propio script o luchar con cron
.
yum-cron - una interfaz para llamar convenientemente a yum desde cron
Instalación
No hay nada especial que tengas que hacer para instalar yum-cron
porque es parte del repositorio base, así que tómalo a través de dnf
.
$ sudo dnf -y yum-cron
El yum-cron
El comando es en realidad un script de Python que puede examinar. Se instala en /sbin
, si quieres comprobarlo.
Configuración y primera ejecución
Una vez instalado, debe editar el archivo de configuración predeterminado, que es /etc/yum/yum-cron.conf
. Este archivo configura la ejecución diaria del cron, pero también le mostraré cómo ejecutarlo inmediatamente. Abra /etc/yum/yum-cron.conf
con su editor favorito y cambie las siguientes dos líneas de:
apply_updates = no
...
random_sleep = 360
Para:
apply_updates = yes
...
random_sleep = 0
Cambiar el parámetro random_sleep provoca yum-cron
para correr inmediatamente. La razón por la que random_sleep
existe el parámetro es para que no consuma mucho ancho de banda para las actualizaciones que ocurren al mismo tiempo.
[ Curso gratuito en línea:Descripción general técnica de Red Hat Enterprise Linux. ]
Configure yum-cron para que se ejecute ahora y al iniciar el sistema
A continuación, habilite yum-cron
para ejecutarse automáticamente al arrancar el sistema y luego iniciarlo.
$ sudo systemctl start yum-cron
$ sudo systemctl enable yum-cron
Después de unos minutos, verifique yum.log para ver si se han descargado y aplicado actualizaciones a su sistema. La aparición de actualizaciones puede demorar un poco más dependiendo de cuántas actualizaciones requiera su 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
En la captura de pantalla anterior, puede ver que tuve varias actualizaciones. Solo miré los últimos diez para ver si había sucedido. Lo hizo.
Reconfiguración
Después de la ejecución inicial, debe editar el /etc/yum/yum-cron.conf
archivo de nuevo y restaurar el random_sleep
parámetro a su valor original de 360
si tiene más de un puñado de servidores.
Cosas al azar que tal vez quieras saber
Aunque instaló y configuró yum-cron
como root, la programación no afecta el crontab de root. En otras palabras, no está en la lista allí. Encontrará el horario ingeniosamente escondido bajo /etc/cron.daily
en un archivo llamado 0yum-daily.cron
. También puede configurar /etc/yum/yum-cron-hourly.conf
para correr cada hora. Similar a la ejecución diaria, el archivo de programación por horas reside en /etc/cron.hourly
como 0yum-hourly.cron
.
Si solo desea instalar actualizaciones de seguridad a través de yum-cron
, cambie el update_cmd
parámetro en /etc/yum/yum-cron.conf
a "seguridad" u otros valores de la siguiente manera:
[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
El yum-cron
La página de manual es casi inútil, excepto para decirle que puede crear y usar diferentes archivos de configuración que deben especificarse en /sbin/yum-cron
Script de Python como default_config_file
. Agregar un nuevo repositorio, como EPEL, no requiere ninguna configuración adicional de yum-cron
. Intentará actualizar desde todos los repositorios independientemente de cuándo los haya agregado y sin reiniciar el yum-cron
servicio.
Si todavía administrara cientos, o incluso docenas, de sistemas Linux, usaría yum-cron
. También instalaría yum-cron
y distribuir yum-cron.conf
archivos a través de Ansible para evitar tocar individualmente cada sistema.
Resumir
El yum-cron
package es una utilidad fácil de instalar y usar para mí. Como administrador de sistemas, necesito aplicaciones de automatización y "ahorro de pasos" para ayudar a administrar los sistemas Linux. También me gusta que el programa sea liviano y sea esencialmente un script de Python. Tiene archivos de configuración que puedo modificar para satisfacer mis necesidades. Honestamente, yum-cron
va a mi caja de herramientas como una de las utilidades esenciales de administrador de sistemas que continuaré usando a lo largo de mi carrera y en cada sistema que administre.
[ Descarga gratuita:hoja de referencia de comandos avanzados de Linux. ]