Necesito averiguar cuánto espacio en disco está ocupado por cada usuario en la red. Conozco df
y du
comandos: podría enumerar todo el sistema de archivos y AWK la salida, pero me pregunto si hay un comando más estándar.
El resultado que estoy buscando es:
usr1 xMb
usr2 yMb
[...]
Total zMb
¿Algunas ideas?
¡Gracias!
PD. Red Hat Linux EE
linux
hard-drive
usage
disk-space-utilization
Escualo
fuente
fuente
Otra buena solución que encontré aquí . Vaya al directorio de su interés, y ejecutar (como alternativa, el cambio
.
a cualquier directorio de intereses que, por ejemplo ,/home/
):fuente
-printf "%u\t%s\n"
yawk -v OFS="\t"
si cree que alguna vez podría tener un nombre de usuario con espacio.O para encontrar los usuarios problemáticos (directorios también),
y para Solaris:
Esto le da una lista de los 25 directorios más grandes. No es exactamente lo que pediste, pero lo uso todo el tiempo.
fuente
Lo que hacemos en muchos lugares es usar el sistema de cuotas, pero establecer cuotas absurdamente altas. De esta manera, obtiene el beneficio de informes rápidos. En un sitio, cada usuario tiene 1 TB de espacio de "cuota".
Periódicamente aumentamos la cuota a medida que crece el disco reparable: inicialmente era de 30 GB por usuario, algo que era absurdamente alto en ese momento.
fuente
No hay tal comando. Tienes que escribir algunos comandos de shell para esto.
fuente
El método de ThorstenS me parece que se necesita más trabajo, ya que se ejecuta find varias veces. Por un lado, solo haría 1 comando de búsqueda, y generaría el propietario y el tamaño de cada archivo, y luego haría algún tipo de magia en ese archivo.
La búsqueda sería algo así como que devuelve el nombre de usuario (o el número de identificación sin nombre de usuario) y el espacio utilizado en bytes, en un archivo delimitado por bytes nulos:
Puede reemplazarlo
\0
con algo que podría ser un poco más fácil de trabajar, como pestañas o líneas nuevas, pero eso sería menos seguro si tiene nombres de archivo originales.Si quisieras ser aún más eficiente, podrías canalizar la salida al script que lo maneja mientras se ejecuta, pero eso sería un poco más de trabajo, y tendrías que hacerlo bien la primera vez.
fuente
Lo he logrado :) No rápido, pero funciona:
Se producirá un gran aumento de la velocidad si buscamos solo UID que sean> 1000:
fuente