Autor: @kaldie
Descripción: Script que lista a los usuarios que ocupan más de una cierta cantidad de espacio en su home
#!/bin/bash # Asignar a la variable MAX el tamano maximo que queremos USUARIOS=$(ls /home/) # Maximo permitido por usuarios, en MB. Escribir el numero de MB, ejemplo MB=100 MAX= # Carga en la variable usuarios todas las direcciones de los home con mas espacio ocupado que MAX for i in $USUARIOS; do DIR="/home/$i" TAM=$(du -B 1048576 -s $DIR | awk {'print $1'}) if [ $TAM -gt $MAX ]; then DIR_SUP="$DIR_SUP $i"$'n' fi done # Ahora se fija a quien corresponde cada direccion de home obtenido y guarda los usuarios en USU_SUP archivo_usuarios=/etc/passwd oldifs=$IFS IFS=: while read -r usuario contrasena iud grupo comentario directorio shell do IFS=$oldifs for i in $DIR_SUP; do direc="/home/$i" if [ $directorio = $direc ]; then USU_SUP="$USU_SUP $usuario"$'n' fi done IFS=: done < $archivo_usuarios echo $'n'"Usuarios con mas de $MAX MB: "$'n'$'n'"$USU_SUP"
Nota: El script debe ser ejecutado con permisos de Root. Asignar a la variable MAX el tamano maximo que queremos
0 comentarios:
Publicar un comentario