Código de Linux/Unix Shell Scripting - Listado de usuarios con información de su home

Imágen de perfil

Listado de usuarios con información de su homegráfica de visualizaciones


Linux/Unix Shell Scripting

Actualizado el 28 de Noviembre del 2013 por Xavi (Creado el 27 de Noviembre del 2013)
3.708 visualizaciones desde el 27 de Noviembre del 2013. Una media de 28 por semana
Código que obtiene el listado de usuarios con un id igual o superior a 500, y busca en la home de cada usuario devolviendo:
- El tamaño que ocupan sus archivos.
- El archivo más pequeño
- El archivo más grande
También busca en la carpeta del usuario root.

Versión 1

Actualizado el 28 de Noviembre del 2013 (Creado el 27 de Noviembre del 2013)gráfica de visualizaciones de la versión: Versión 1
3.709 visualizaciones desde el 27 de Noviembre del 2013. Una media de 28 por semana
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash
 
# http://www.lawebdelprogramador.com
 
# obtiene el usuario root y lo guarda en el archivo "listadoUsuarios"
cut -d: -f 1,6 /etc/passwd | grep ^'root:'> listadoUsuarios
 
# obtiene los usuarios con id igual o superior a 500 y los guarda en el
# archivo "listadoUsuarios"
cut -d: -f 1,3,6 /etc/passwd | awk -F: '{if($2>=500) print $1":"$3}' >> listadoUsuarios
 
# recorremos todos los usuarios
cat listadoUsuarios | while read usuario;do
    username=`echo $usuario | cut -d: -f1`
    path=`echo $usuario | cut -d: -f2`
 
    # inicializamos las variables
    discUsage=0
    archivoPequeno=""
    archivoGrande=""
 
    # si el path del usuario existe
    if [ -d "$path" ];then
 
        # obtenemos el tamaño del mismo
        discUsage=`du -sh $path | awk '{print $1}'`
 
        # obtenemos el archivo mas pequeño
        archivoPequeno=`find $path -type f -printf "%s %P\n" | sort -n | head -1`
 
        # obtenemos el archivo mas grande
        archivoGrande=`find $path -type f -printf "%s %P\n" | sort -n | tail -1`
    else
        discUsage="No existe directorio"
    fi
 
    # mostramos los resultados
    echo $username
    echo '\tpath:\t\t\t'$path
    echo '\tutilizacion de disco:\t'$discUsage
    echo '\tarchivo mas pequeno:\t'$archivoPequeno
    echo '\tarchivo mas grande:\t'$archivoGrande
done



Comentarios sobre la versión: Versión 1 (0)


No hay comentarios
 

Comentar la versión: Versión 1

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios

http://lwp-l.com/s2545