GNU/Linux >> Tutoriales Linux >  >> Linux

Una vista práctica del comando xargs

Las tareas del día a día del administrador del sistema siempre son diferentes para todos; sin embargo, hay tareas simples que se ejecutan igualmente en los sistemas administrados. En los días en que el espacio en disco era un factor de riesgo en la jornada del administrador, era de vital importancia ubicar el directorio o sistema de archivos para depurar.

Hoy en día, en las máquinas virtuales principalmente, es igual de importante tener los sistemas administrados sanos y con espacio disponible para la ejecución de sus procesos y registro en sus archivos de registro.

[ También te puede interesar: Secuencias de comandos de Linux:3 procedimientos para bucles while en Bash]

La mejor manera de comenzar es usar los comandos más simples vinculando sus salidas como entradas a una nueva ejecución, formando lo que se conoce como una sola línea. Es decir, utilizar el intérprete de línea de comandos para leer la salida estándar de un comando y ponerla como variable de entrada del siguiente comando, para ello el comando xargs ayuda a recibir esa variable y ejecutarla.

Vea un ejemplo práctico:

Ticket RH0502201-1:El servidor de producción prodenv envía alertas de "poco espacio en disco en el sistema de archivos raíz". Se solicita la purga del sistema de archivos.

  1. Accede al servidor y comprueba el espacio en /filesystem :


# df -h /

Filesystem                     Size  Used  Avail Use% Mounted on

/dev/mapper/prodenv--vg-root   720G  720G  0     100% /
  1. Cambie al directorio raíz, enumere los directorios y, para calcular el espacio en disco utilizado en cada directorio, use un pipe y xargs para enviar el ls salida de comando a du comando:

# ls | xargs du -sk
  1. Con una pipe nuevamente, use el comando ordenar para listar la salida del espacio de disco usado en los directorios de menor a mayor:


# ls | xargs du -sk | sort -n
  1. Para este caso, solo se necesitan los directorios con más espacio en disco ocupado, por lo que podríamos limitar la lista a los últimos cinco directorios de la lista. Usando otra tubería y el comando tail:


# ls | xargs du -sk | sort -n | tail -5

Nota : Si desea evitar el mensaje de error donde du el comando no pudo acceder, envíe la salida de error estándar al dispositivo /dev/null:


# ls | xargs du -sk 2> /dev/null | sort -n | tail -5
  1. Con la lista de directorios definida, use AWK para crear una nueva lista ordenada de directorios, columna dos de la lista original:


# ls | xargs du -sk 2> /dev/null | sort -n | tail -5 | awk '{ print $2 }'
  1. La lista ordenada se vuelve a ingresar como una variable para du para mostrar el espacio utilizado en un formato legible por humanos. Usa otra pipe y xargs :


# ls | xargs du -sk 2> /dev/null | sort -n | tail -5 | awk '{ print $2 }' | xargs du -sh
  1. Valide la viabilidad de eliminar o comprimir los archivos que abruman el sistema de archivos para liberar tanto espacio en disco como sea posible.

Probablemente sea posible evitar los pasos 5 y 6 y ejecutar la limpieza directamente; sin embargo, en muchos casos, estos directorios pertenecen a alguna aplicación y avisan al responsable  parte para realizar la limpieza o simplemente como evidencia del proceso ejecutado para la documentación de resolución de problemas.

Finalmente, nuestro one-liner se parece a lo siguiente:


​​​​​​​# ls | xargs du -sk 2> /dev/null | sort -n | tail -5 | awk '{ print $2 }' | xargs du -sh

Esta una línea es parte de mi arsenal utilizado en las tareas del día a día como administrador de sistemas, espero que les sea de utilidad. ¿Y usted? Qué frases ingeniosas tienes bajo la manga?

[ Obtenga este libro electrónico gratuito:Administrar sus clústeres de Kubernetes para principiantes. ]


Linux
  1. Domina el comando ls de Linux

  2. 8 ejemplos prácticos del comando Linux Xargs para principiantes

  3. Una introducción al comando diff

  4. 5 ejemplos prácticos del comando dd en Linux

  5. El comando de localización en Linux

5 comandos para ver el contenido de un archivo en la línea de comandos de Linux

5 ejemplos prácticos del comando de lectura en Linux

Ejemplos de comandos xargs de Linux

Una guía práctica para el comando chroot en Linux

¿Cómo usar el comando xargs en Linux?

El comando apt:una guía práctica de uso