¿Como hacer un Mantenimiento de GNU/Linux usando un Script?

Script de Mantenimiento y Actualización sobre GNU/Linux

Para mantener la operatividad y minimizar los errores y fallos, es bueno realizar un mantenimiento de nuestro Sistema Operativo GNU/Linux usando un Script, ya que nos permite vía “Cron” programarlo para su ejecución periódica.

Por ello en esta publicación vamos a tratar de exponer los más elementales pasos (ordenes de comando) a insertar dentro de nuestro script de mantenimiento a crear/modificar, ya sean de carácter imprescindible o recomendables para mantener nuestro PC en correcto funcionamiento.

Introducción

Gran parte de los problemas (dificultades técnicas) que se presentan en los Sistemas Operativos, ya sean Privativos o Libres se pueden evitar o prevenir si se realiza un correcto mantenimiento (preventivo/correctivo) periódico.

Tengamos presente que los sistemas operativos son sistemas muy robustos y por eso tienden a presentar ciertas fallas o dificultades técnicas, a causas de los normales o exagerados usos por parte del usuario, las actualizaciones e instalaciones del mismo o de las aplicaciones instaladas dentro de él.

Estos suelen ser reparados o eliminados, muchas veces por el personal técnico con aplicaciones gráficas o en casos extremos mediante formateos del Sistema Operativo. Pero muchas veces, un mantenimiento programado (automatizado) puede ahorrarnos muchas horas/labor de parte del personal técnico encargado para ello.

Y en el caso de los Sistemas Operativos GNU/Linux esto es muy fácil de hacer mediante un Script programado dentro del Sistema “Cron” usando el Terminal.

¿Que tareas debe ejecutar un Script de Mantenimiento?

Un buen Script de mantenimiento debería cumplir con algunos de los siguientes requisitos o parámetros para mantener la operatividad de nuestro Sistema Operativo GNU/Linux, que:

  1. Ejecute como root o con permisología de Súper-usuario: Ya que el mantenimiento de cualquier Sistema Operativo debe implicar ciertas tareas criticas o sensibles que solo un usuario con permisos de Administrador debe poder llevar a cabo.
  2. Actualice las listas de paquetes de nuestros respectivos repositorios: Para mantener al Sistema y al Usuario mismo de las posibles actualizaciones, criticas o no, disponibles.
  3. Realice actualizaciones seguras de los paquetes disponibles en los repositorios: Para mantener al Sistema lo más actualizado posible con riesgo cero de problemas de paquetería.
  4. Solvente los posibles presentes o futuros problemas de paquetería: Que hayan podido estar presente o se hayan presentado aún en una actualización segura.
  5. Depure lo más posible el Sistema Operativo: Mediante la eliminación de las aplicaciones, archivos de instalación, configuración, lenguaje o registro de errores, no usados o necesarios dentro del Sistema Operativo para aprovechar mejor nuestro existente espacio en disco.
  6. Actualice nuestro Sistema de Arranque Grub: En caso de que hayan habido cambios no detectados en el mismo, como cambio de kernels, nombres de los registros de arranque o detección de nuevos Sistemas Operativos dentro del Disco.
  7. Actualice nuestro Sistema de Arranque Plymouth: En caso de que hayan habido cambios no detectados en el mismo, como cambio del tema o imagen mostrada durante la carga del Sistema Operativo.
  8. Muestre información vital sobre el Estado del Equipo: Principalmente sobre la Distribución del Espacio en Disco y el Sistema de Ficheros. Aunque se le pudiese programar la visualización de parámetros tales como: Memoria, CPU, Disco, Vídeo, Kernels, Interfaces de Red entre otros.

¿Que ordenes de comando debe ejecutar un Script de Mantenimiento?

A continuación están algunas de las ordenes de comando que podrían serle útiles o necesarias para crear un buen script de mantenimiento en su Sistema Operativo GNU/Linux:

#!/usr/bin/env bash

set -eou pipefail
IFS=$'\n\t'
setterm --reset

clear
setterm -background red

if [[ "$(id -u)" != "0" ]]; then
echo "ESTE SCRIPT DEBE SER EJECUTADO COMO ROOT"
sleep 3
clear
else
echo "ESTE SCRIPT SERA EJECUTADO COMO SUPERUSUARIO (ROOT)"
sleep 3
clear
fi

sudo apt update; sudo update-apt-xapian-index; sudo aptitude safe-upgrade; sudo apt install -f; sudo dpkg --configure -a; sudo apt --fix-broken install

sudo localepurge; sudo update-grub; sudo update-grub2; sudo aptitude clean; sudo aptitude autoclean; sudo apt-get autoremove; sudo apt autoremove; sudo apt purge; sudo apt remove

sudo rm -f /var/log/*.old /var/log/*.gz /var/log/apt/* /var/log/auth* /var/log/daemon* /var/log/debug* /var/log/dmesg* /var/log/dpkg* /var/log/kern* /var/log/messages* /var/log/syslog* /var/log/user* /var/log/Xorg* /var/crash/*

sudo update-initramfs -u

sudo df -h

sudo du -hs /* | sort -k 2

sudo dpkg-query -Wf='${Installed-Size} ${Package}\n' | sort -n

sudo echo "" > ~/.bash_history

Ustedes pueden complementar este sencillo Script con sus ordenes de comando preferidas, o adaptarlas mismas a su propia Distribución GNU/Linux para así mantener al día su respectivo Sistema Operativo usado.

En caso de que desees conocer un poco más sobre que hacer para optimizar tu Sistema Operativo GNU/Linux te recomendamos esta otra publicación del Blog: Guía Post Instalación DEBIAN 8 / 9 – 2016 – Parte I o esta otra publicación externa de un foro: Limpieza y Mantenimiento en Linux desde la Terminal

Espero que esta publicación les guste y sea útil como de costumbre!



Ingeniero en Informática y Administrador de Servidores GNU/Linux con certificación internacional de Linux: 1.- Certified Linux Administrator (CLA) 2.- Certified Linux Operator (CLI)

6 comentarios

  1.   juliosao dijo

    El script puede ser util, pero un apunte, donde borras los log podría ser mejor usar “logrotate”, se trata de una herramienta muy buena para gestionar logs, pues a veces borrar los log, sobretodo si son recientes, no es muy buena idea:

    https://noticiasdehumor.com/tutorial-configurar-logrotate-en-un-servidor-linuxunix-despues-de-generar-las-estadisticas/

    Esta utilidad es capaz de borrar log antiguos, configurando si antes hay que renombrarlos, comprimirlos, indicar cada cuanto hay que borrarlos, etc. Además que yo sepa está en casi todas las distribuciones, lo he probado en centos, ubuntu y debian, siempre de forma satisfactoria.

    Un saludo.

  2.   Marc dijo

    La duda para mi es… ¿Cuán peligrosos son estos comandos para Linux Kubuntu 18.04? ¿Existe riesgo de perder algo útil o desconfigurar algo? Preguntas de alguien que apenas conoce de distribuciones Linux y he tenido que lidiar con reinstalaciones por metidas de pata. Gracias.

  3.   Ing. Jose Albert dijo

    Tienes toda la razón! Aunque logrotate es más para servidores! Y en caso de utilizar el Script para PC de Usuarios es más fácil conservar esa linea para borrar los Logs que a veces por flojera mental o falta de experiencia técnica, dejan los Linux mandando errores en segundo plano que hacen colapsar el arranque del Sistema por falta de espacio en disco de improvisto!

    Por eso a gusto del implementador, queda agregar o quitar líneas según el tipo de usuario y equipo donde lo ejecute.

  4.   Ing. Jose Albert dijo

    Nada peligrosos! Una vez que los ejecutas manualmente la primera vez para ver que todo ande bien, dejarlos programados difícilmente romperán tu sistema!

  5.   Frank Davila dijo

    Sirve para Arch Linux?

    1.    Ing. Jose Albert dijo

      Claro que sí, lo único es que tal vez la sintaxis de los comando cambien ya que creo que en las Distros no basadas en DEBIAN ciertos comandos o nombres de paquetes cambian ligeramente su forma de ejecutarlos! Pero los Scripts son universales en todos los Sistemas Linux.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.