Script Mejorado para limpieza de ArchLinux


Acabo de mejorar un poco el Script de limpieza para ArchLinux… La mejora no es tremenda, solamente agregué la función de calcular el espacio liberado luego de limpiar el sistema.

Acá va el código

#!/bin/bash

#   This program is free software: you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation, either version 3 of the License, or
#   (at your option) any later version.
#
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#   GNU General Public License for more details.
#
#   You should have received a copy of the GNU General Public License
#   along with this program.  If not, see <http://www.gnu.org/licenses/&gt;.

#Script de Limpieza de sistemas ArchLinux ¡Altamente mejorable!

#Obtener el espacio ocupado antes de la limpieza
einicial=$(du -b -s /|cut -f1)
clear
echo “LIMPIEZA DEL SISTEMA”

#Comprobamos si el usuario es Root
if [ $(whoami) = “root” ]; then
#Todas las tareas que se deben hacer como root

#Limpieza de Caché
read -p “(1/4) ¿Limpiar Caché de Pacman?(S/N): ” TEXTO1
if [ “${TEXTO1,,}” = “s” ]; then
pacman -Scc
else
echo Omitido…
fi

#Paquetes Huerfanos
read -p “(2/4) ¿Desinstalar paquetes huérfanos? (S/N): ” TEXTO2
if [ “${TEXTO2,,}” = “s” ]; then
pacman -Rns $(pacman -Qtdq)
else
echo Omitido…
fi

#Borrado de todos los logs
read -p “(3/4) ¿Desea borrar todos los archivos de /var/log/? (S/N)” TEXTO3

if [ “${TEXTO3,,}” = “s” ]; then
echo Borrando todos los archivos de /var/log/
rm -r /var/log/*
else
echo Omitido…
fi

#Borrado de papelera ROOT
read -p “(4/4) ¿Desea borrar la papelera de reciclaje del usuario ROOT? (S/N)” TEXTO4
if [ “${TEXTO4,,}” = “s” ]; then
echo Borrando todos los archivos de /root/.local/share/Trash
rm -r /root/.local/share/Trash/*
else
echo Omitido…
fi

#Obtener el espacio ocupado después de la limpieza
efinal=$(du -b -s /|cut -f1)
total=$(expr $einicial – $efinal )
clear
#Convertir Bytes en MB

totalmb=$(expr $total / 1048576)
echo “¡FINALIZADO! Se liberaron ” $totalmb ” MB después de la limpieza”

else
#Salida de la prueba de root
echo Es necesario ejecutar este programa como ROOT
exit 1
fi

Anuncios

4 comentarios en “Script Mejorado para limpieza de ArchLinux

  1. hola que tal? te comento que a mi me da error.

    “LIMPIEZA DEL SISTEMA”
    ./Limpieza.sh: línea 28: error sintáctico cerca del elemento inesperado `(‘
    ./Limpieza.sh: línea 28: ` read -p “(1/4) ¿Limpiar Caché de Pacman?(S/N): ” TEXTO1’

    soy nuevo en archlinux, me gustaria saber por que da error, gracias

    • ¡Buenas! Recién veo el comentario… Copio y pego el script tal cual lo uso yo:

      #!/bin/bash

      # This program is free software: you can redistribute it and/or modify
      # it under the terms of the GNU General Public License as published by
      # the Free Software Foundation, either version 3 of the License, or
      # (at your option) any later version.
      #
      # This program is distributed in the hope that it will be useful,
      # but WITHOUT ANY WARRANTY; without even the implied warranty of
      # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
      # GNU General Public License for more details.
      #
      # You should have received a copy of the GNU General Public License
      # along with this program. If not, see <http://www.gnu.org/licenses/&gt;.

      #Script de Limpieza de sistemas ArchLinux ¡Altamente mejorable!

      #Obtener el espacio ocupado antes de la limpieza
      #einicial=$(du -b -s /|cut -f1)
      #clear
      echo "LIMPIEZA DEL SISTEMA"

      #Comprobamos si el usuario es Root
      if [ $(whoami) = "root" ]; then
      #Todas las tareas que se deben hacer como root

      #Limpieza de Caché
      read -p "(1/4) ¿Limpiar Caché de Pacman?(S/N): " TEXTO1
      if [ "${TEXTO1,,}" = "s" ]; then
      pacman -Scc
      else
      echo Omitido…
      fi

      #Paquetes Huerfanos
      read -p "(2/4) ¿Desinstalar paquetes huérfanos? (S/N): " TEXTO2
      if [ "${TEXTO2,,}" = "s" ]; then
      pacman -Rns $(pacman -Qtdq)
      else
      echo Omitido…
      fi

      #Borrado de todos los logs
      read -p "(3/4) ¿Desea borrar todos los archivos de /var/log/? (S/N)" TEXTO3

      if [ "${TEXTO3,,}" = "s" ]; then
      echo Borrando todos los archivos de /var/log/
      rm -r /var/log/*
      else
      echo Omitido…
      fi

      #Borrado de papelera ROOT
      read -p "(4/4) ¿Desea borrar la papelera de reciclaje del usuario ROOT? (S/N)" TEXTO4
      if [ "${TEXTO4,,}" = "s" ]; then
      echo Borrando todos los archivos de /root/.local/share/Trash
      rm -r /root/.local/share/Trash/*
      else
      echo Omitido…
      fi

      #Obtener el espacio ocupado después de la limpieza
      #efinal=$(du -b -s /|cut -f1)
      #total=$(expr $einicial – $efinal )
      #clear
      #Convertir Bytes en MB

      #totalmb=$(expr $total / 1048576)
      echo "¡FINALIZADO!"

      else
      #Salida de la prueba de root
      echo Es necesario ejecutar este programa como ROOT
      exit 1
      fi

  2. hola soy algo novato,,, para ejecutar este script, primero cree un archivo vacio, luego peque el contenido del script en ese archivo, luego renombre el archivo como limpieza.sh. Luego abri una terminal ingrese como root, luego chmod +x limpieza.sh y luego ./limpieza.sh….. la terminal empezo ha hacerme unas preguntas de limpieza y a todas les puse que SI.. Ese es procedimiento correcto o hice algo mal? gracias

    • Andrés: ¡Para ser novato andás bien eh! 😉 Está perfecto el procedimiento. Así deberías haber limpiado el sistema. El script por ahora es confiable (lo vengo usando hace como 1 año y medio y no tuve errores). De todas formas, si ves que algo anda raro, avisame y tratamos de arreglarlo.
      ¡Saludos y gracias por leerme!

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s