martes, 18 de octubre de 2011

Espacio de uso de directorios

Más de una vez un equipo o servidor se ha quedado con poco espacio libre en una partición, o incluso se ha agotado. Ahí comienza una labor de búsqueda de aquellos ficheros que han crecido inesperadamente o bien de los directorios con mayor peso para revisarlos y ver si se puede borrar algo.
Si bien seguro existen aplicaciones que revisan el sistema de ficheros en busca de este tipo de información, no me gusta instalar software extra en servidores si con las herramientas ya existentes se puede obtener el mismo resultado.
El siguiente comando nos dirá la ocupación de cada uno de los subdirectorios que tenemos en nuestra ruta actual:

for i in $(find . -maxdepth 1 -type d | tr -s "\n" " "); do  echo `du $i -hs`; done

873M . 60K ./include 214M ./lib 4,8M ./sbin 35M ./bin 393M ./share 4,0K ./games 136M ./local 92M ./src

El resultado del comando ejecutado en /usr nos dice que este directorio ocupa, contando con sus subdirectorios y ficheros), 873 MB. Que el subdirectorio local (/usr/local) ocupa 136 MB, etc. Si vemos un subdirectorio con un uso de disco exagerado podremos acceder a él y volver a ejecutar el comando, para ir descubriendo dónde están esos ficheros de gran tamaño.

viernes, 21 de enero de 2011

Crear listado de ficheros con su código md5


A continuación os muestro cómo calcular el código md5 de cada uno de los ficheros contenidos en un directorio (en este caso el directorio actual, .) y generar un fichero, llamado md5, con los nombres de los ficheros junto con su ćodigo md5:

Listado md5 con todos los ficheros excepto los ocultos

$ find . * ! -path "./*" ! -path "md5" ! -type d -exec md5sum '{}'>>md5 \;

Listado md5 con todos los ficheros incluídos los ocultos

$ find . * ! -path "./[^.]*"  ! -path "md5" ! -type d -exec md5sum '{}'>>md5 \;

Estos listados son muy útiles para distintos casos:

  • Junto con algunos ficheros colgados en Internet se nos ofrece su código md5. Al bajarlo podemos generar el código md5 de nuestra copia para saber si es idéntica o sufrió algún error en la descarga.
  • Podemos generar ficheros md5 de ciertos ficheros importantes de nuestras máquinas (fichero /etc/passwd, /etc/rc.local, etc) y comprobar de vez en cuando si dichos ficheros han sufrido algún cambio. Es una buena manera de detectar modificaciones no autorizadas en nuestros sistemas.
  • Se puede implementar un proceso de actualización para nuestras aplicaciones, tal que ante una nueva versión los clientes solo descarguen del servidor aquellos ficheros que cambiaron. Si un cliente genera el código md5 de sus ficheros y los comprueba contra los ficheros del servidor, sabrá qué ficheros descargarse. Esto disminuye el tiempo de actualización y el uso del ancho de banda de nuestras lineas de comunicaciones.

martes, 11 de enero de 2011

Backup remoto con autolimitación de ancho de banda

He visto esta entrada en el blog DiarioLinux.com que me ha parecido muy interesante. Explica cómo realizar un backup de un directorio limitando el ancho de banda (para no ahogar nuestra conexión a Internet).

Para disponer del comando cstream en Ubuntu 10.10, tendremos que instalar el paquete con el mismo nombre:

# aptitude install cstream

lunes, 10 de enero de 2011

Añadir usuarios a grupos

En ocasiones tenemos muchos usuarios y directorios con diferentes perfiles de acceso. Crear diferentes grupos es una buena práctica para decidir qué usuarios podrán leer/escribir en qué directorios.

Si queremos incluir un usuario en un grupo debemos ejecutar:

# usermod -a -G grupo usuario

# usermod -a -G grupo1, grupo2, grupo3 usuario


Es muy importante el parámetro -a, pues si no el usuario será eliminado de los grupos que no se especifiquen en este comando.