Antes de hacer una copia de seguridad o cuando el servidor empieza a dar errores por falta de espacio, necesitamos saber qué está ocupando el disco. Para eso tenemos dos comandos complementarios: df para ver el espacio libre en cada partición y du para ver cuánto ocupa un directorio o archivo concreto.
Para ver el espacio libre en todas las particiones en un formato legible:
df -h
La opción -h muestra los tamaños en formato legible (KB, MB o GB) en lugar de bloques.
La columna «Disponible» y el porcentaje de uso son los más útiles a primera vista.
Para saber cuánto ocupa un directorio:
du -sh /var/log/
Con -s obtenemos solo el total (sin desglosar subdirectorios) y con -h el tamaño en
formato legible. Si queremos ver el desglose de cada elemento dentro de un directorio:
du -h /var/log/
Cuando el directorio tiene muchos niveles (como /home/ con decenas de subdirectorios),
el listado completo puede ser una locura. Con --max-depth limitamos hasta qué nivel
queremos ver:
du -h --max-depth=1 /home/
Con --max-depth=1 vemos solo el tamaño de cada subdirectorio directo de /home/ sin
entrar en su contenido, lo que nos permite identificar rápidamente qué usuario está ocupando
más espacio.
Para localizar los directorios más grandes dentro de un árbol, combinamos du con sort y
head:
du /var/www/ | sort -rn | head -20
Los tamaños aparecen en kilobytes. Con -r el resultado queda ordenado de mayor a menor
y con -n la ordenación es numérica.
Cuando hacemos copias de seguridad con
rsync o con
tar, df nos ayuda a verificar que el
destino tiene espacio suficiente antes de lanzar la operación.