Script limpia basurilla limpieza
Este script es una compilación de los dos anteriores, uno que sirve para eliminar carpetas vacías y otro que elimina archivos con una extensión determinada. La búsqueda es recursiva, así que no os tendréis que preocupar en entrar dentro de cada carpeta, el script se encargará de ello y hará la acción pertinente.
Le he añadido la función de que guarde en un log temporal el registro de todo lo que borra, y que cuando acabe lo muestre por pantalla. Solo tenéis que editar la variable directorio y poner la ruta que queréis limpiar de basurilla.
#!/bin/bash
#Programa que busca y elimina archivos con extension eml avi inf exe dll bat mpg mpeg ppt
#Tambien busca y elimina carpetas vacías. Cuando acaba muestra por pantalla todo lo que ha borrado.
ScriptName="Limpia basurilla"
ScriptVersion="0.1"
ScriptAuthor="WIL www.thewilfamily.com"
ScriptDate="15/02/2010"
directorio="/home/wil"
ruta_log=/tmp/limpia_porqueria.log
echo Limpieza comenzada a las `date +%X_del_%x` > $ruta_log
find $directorio -name *.eml -exec rm -rv {} \; >> $ruta_log
find $directorio -name *.avi -exec rm -rv {} \; >> $ruta_log
find $directorio -name *.inf -exec rm -rv {} \; >> $ruta_log
find $directorio -name *.bat -exec rm -rv {} \; >> $ruta_log
find $directorio -name *.exe -exec rm -rv {} \; >> $ruta_log
find $directorio -name *.dll -exec rm -rv {} \; >> $ruta_log
find $directorio -name *.mpg -exec rm -rv {} \; >> $ruta_log
find $directorio -name *.mpeg -exec rm -rv {} \; >> $ruta_log
find $directorio -name *.ppt -exec rm -rv {} \; >> $ruta_log
find $directorio -type d -exec rmdir -v --ignore-fail-on-non-empty 2>/dev/null {} \;
echo Limpieza finalizada a las `date +%X_del_%x` >> $ruta_log
read -p "" | echo -e '\E[37;44m'"\033[1mPulsa una tecla para ver el registro...\033[0m"
cat $ruta_log | more
exit
Le dais permisoso de ejecución con
chmdo 777 limpia_basurilla.sh
y lo ejecutais con
./limpia_basurilla.sh
Si no puede eliminar archivos y carpetas es porque no os habeis loginado como root. Tambien lo podemos añadir a crontab (como root para que tenga permisos de eliminar archivos que no son suyos) con el comando
crontab -e
y añadimos la linea
* * * * * /home/usuario/limpia_basurilla.sh
y cada minuto ejecutará el script.
Para sorpresa de nuestros queridos users cuando guarden un vídeo, una canción, una presentación del maldito PowerPoint, el gusano nimda o cualquiera que sea la mierda que tenga la extensión que hayamos configurado; nuestro script lo eliminará automáticamente, sin tenernos que molestar en poner orden ni limpiarlo nosotros mismos.
Sin duda una manera de tener nuestro sistema un poco más limpio, sobre todo si como yo, administráis una aula con Windozes XP y usuarios que no tienen más que hacer que llenar la carpeta compartida por samba de porqueria…
Lo podeis bajar directamente aquí–> limpia_basurilla
Se admiten peticiones/modificaciones al script.

Publicado en la categoría scripts
Hacer comentario