MiniCleaner 👨‍💻

MiniCleaner es un script para haiku-os que limpia un poco las cosas cuando se ejecuta.

#!/bin/bash

# -----------------------------------------------------------------------------#
# MiniCleaner
# Vacía la Papelera y las búsquedas recientes cada X reinicios.
# Versión:
appver="1.0c"

# -----------------------------------------------------------------------------#
# Tanausú Gómez (_-Caleb-_)
# Contacto:
# Web:      tanausugg.blogspot.com
# Correo:   tgomez@duck.com
# Telegram: @calebin
# -----------------------------------------------------------------------------#
# Licencia: Artistic 2.0 (https://opensource.org/license/artistic-2-0/)
# -----------------------------------------------------------------------------#
# Otra información de interés.
# - Vacía la papelera.
# - Elimina las búsquedas
# - Elimina los estados administrativos más antiguos de 5 días.
# - Elimina los archivos más antiguos de 2 carpetas (En mi caso la de descargas de Telegram
#   y la de descargas del navegador.
# -----------------------------------------------------------------------------#
# Log de cambios:

# Versión 1.0 > 1.0c
# - Añadido script de limpieza de estados administrativos (Tomado de Besly.de).
# - Añadidos directorios a eliminar por antiguedad.

# Versión 1.0:
# - Versión Inicial

# <------- INICIO DEL PROGRAMA -------->
# Empieza a mostrar cosas

echo "MiniCleaner V.-"$appver

echo "[ADMINISTRATIVE] Comprobando estados administrativos..."
dias=3
cd /boot/system/packages/administrative 
statinfo=$(find ./stat* -type d | wc -l) 
if [ $statinfo -gt 20 ] ; then 
	echo "[ADMINISTRATIVE] [ PASO 1] Hay más de 20 estados, eliminando todos menos los de los últimos 5 días."
	find -type d -mtime +$dias -exec trash {} \;
else
	echo "[ADMINISTRATIVE] [ PASO 1] No hay más de 20 estados, continuando."
fi

# Comprobamos que el archivo contador existe y sumamos.
echo "[TRASH] Comprobando Papelera..."
FICHERO=/boot/home/config/settings/minicleaner

if [ -f $FICHERO ]
   then
   echo "[TRASH] [PASO 1] El Archivo contador existe."
else
   touch $FICHERO
   echo "[TRASH] [PASO 1] Archivo creado en " $FICHERO"."
   echo 0 > $FICHERO
fi 

# Comprobamos que haya algo en la papelera
COMPROBAR=$(trash --list)
if [ -z "$COMPROBAR" ]; then
   # Si está vacía sale del script
   echo "[TRASH] [PASO 2] Papelera vacía. Saliendo."
   echo 0 > $FICHERO
   exit 0
else
   echo "[TRASH] [PASO 2] Hay Items en la Papelera."
fi

# Sumamos 1
CONTADOR=$(cat $FICHERO)
SUMA=`expr $CONTADOR + 1`
echo $SUMA > $FICHERO

# Comprobamos que los iconos existen o los descargamos (Para la notificación).


# Cambia 20 por el número de reinicios que estimes para vaciar la papelera.
# En la variable TOTAL.
TOTAL=20
if [ $SUMA -lt $TOTAL ]; then
   echo "[TRASH] [PASO 3] Contador en " $SUMA " de " $TOTAL "."
else
   echo "[TRASH] [PASO 3] Eliminando búsquedas recientes, vaciando Papelera y reiniciando contador."
   trash /boot/home/queries/*
   trash --empty
   echo 0 > $FICHERO
   exit 0
fi
exit 1
# EOF