Update actualizar.sh

This commit is contained in:
Manuel Vergara 2024-02-22 21:00:41 +01:00
parent 895344ea72
commit add56873fa

View File

@ -1,6 +1,17 @@
#!/bin/bash #!/bin/bash
# Script per a actualitzar i netejar Linux # Script: actualizar.sh
# Descripción: Este script de bash tiene como objetivo actualizar y limpiar un
# sistema Linux. Utiliza colores para mensajes y maneja la salida
# de forma controlada con Ctrl + C. Presenta títulos para cada
# sección, como la limpieza de paquetes innecesarios, la
# actualización de repositorios y la actualización de paquetes
# snap. Además, solicita confirmación antes de realizar ciertas
# operaciones, como la actualización de paquetes. La última sección
# agradece al usuario por mantener su sistema actualizado.
# Author: Manuel Vergara
# Web: https://vergaracarmona.es
#
# Colores # Colores
COLOR_RED='\e[31m' COLOR_RED='\e[31m'
@ -9,8 +20,10 @@ COLOR_RESET='\e[0m'
# Control de salida con Ctrl + C # Control de salida con Ctrl + C
function ctrl_c() { function ctrl_c() {
echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}" echo -e "${COLOR_RED}\n\n[!] Saliendo... \n${COLOR_RESET}"
tput cnorm; exit 1 tput cnorm
log_message "El script se ha detenido debido a una interrupción del usuario."
exit 1
} }
# Ctrl+C # Ctrl+C
@ -18,20 +31,37 @@ trap ctrl_c SIGINT
# Títulos # Títulos
function print_title { function print_title {
local title="$1" local title="$1"
local title_length=${#title} local title_length=${#title}
local total_length=22 local total_length=22
# Calcular el tamaño del margen izquierdo y derecho # Calcular el tamaño del margen izquierdo y derecho
local margin_length=$(( (total_length - title_length - 4) / 2 )) local margin_length=$(((total_length - title_length - 4) / 2))
# Asegurarse de que el número total de almohadillas sea siempre 22 # Asegurarse de que el número total de almohadillas sea siempre 22
local left_padding=$(( margin_length )) local left_padding=$((margin_length))
local right_padding=$(( margin_length + (title_length % 2) )) local right_padding=$((margin_length + (title_length % 2)))
echo -e "${COLOR_BLUE}\n$(printf '#%.0s' $(seq 1 $left_padding))#### $title ####$(printf '#%.0s' $(seq 1 $right_padding))\n${COLOR_RESET}" echo -e "${COLOR_BLUE}\n$(printf '#%.0s' $(seq 1 $left_padding))#### $title ####$(printf '#%.0s' $(seq 1 $right_padding))\n${COLOR_RESET}"
} }
# Verificar permisos de superusuario
if [ "$EUID" -ne 0 ]; then
echo "Este script debe ejecutarse con privilegios de superusuario."
log_message "Error: Este script debe ejecutarse con privilegios de superusuario."
exit 1
fi
# Logging
LOG_FILE="/var/log/linux_update_script.log"
function log_message() {
local message="$1"
echo "$(date '+%Y-%m-%d %H:%M:%S') - $message" >>"$LOG_FILE"
}
log_message "Iniciando el script de actualización y limpieza."
print_title "ANEM A ACTUALITZAR" print_title "ANEM A ACTUALITZAR"
print_title "AUTOREMOVE" print_title "AUTOREMOVE"
@ -75,5 +105,6 @@ else
echo "No hi ha actualitzacions disponibles amb el gestor de paquets \"snap\"." echo "No hi ha actualitzacions disponibles amb el gestor de paquets \"snap\"."
fi fi
print_title "GRACIES PER ACTUALITZAR EL SISTEMA" log_message "El script se ha ejecutado correctamente."
print_title "GRACIES PER ACTUALITZAR EL SISTEMA"