GNU/Linux >> Tutoriales Linux >  >> Linux

Programación de actualizaciones en Linux usando yum-cron

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. ]


Linux
  1. Identifique las propiedades de seguridad en Linux usando checksec

  2. Depurar Linux usando ProcDump

  3. Solucionar problemas con el sistema de archivos proc en Linux

  4. Usando el comando ripgrep (rg) en Linux

  5. Sistema de colas de Linux

Cómo enumerar los paquetes instalados en Linux

Instale MongoDB usando Vagrant en Linux

Programar una tarea en Linux usando Crontab

Usando el comando Watch en Linux

Usando cut en Linux Terminal

Cómo enumerar los paquetes instalados en Linux mediante la administración de paquetes