LINUX – Uso de BASH_REMATCH en Scripts Bash con ejemplos simples y avanzados.

La variable BASH_REMATCH es una característica poderosa en los scripts de Bash que se utiliza para trabajar con expresiones regulares. Cuando se realiza una operación de coincidencia usando el comando [[ ... =~ ... ]], los resultados de la coincidencia se almacenan en esta variable.

¿Cómo Funciona?

  • BASH_REMATCH[0]: Contiene la coincidencia completa del patrón.
  • BASH_REMATCH[n]: Contiene las coincidencias de los grupos capturados, donde n es el número del grupo.

Sintaxis

Ejemplos Avanzados

Ejemplo 1: Extracción de Datos de una Fecha

Este ejemplo muestra cómo extraer el día, el mes y el año de una fecha en formato DD/MM/AAAA.

Ejemplo 2: Validación de una Dirección de Correo Electrónico

En este ejemplo, se valida una dirección de correo electrónico y se extraen el nombre de usuario y el dominio.

Ejemplo 3: Análisis de una URL

Este script analiza una URL y extrae el protocolo, el dominio y la ruta.

Conclusión

La variable BASH_REMATCH es una herramienta invaluable para el procesamiento de texto en scripts Bash. Permite extraer y manipular datos de manera eficiente utilizando expresiones regulares, lo que facilita la validación y el análisis de cadenas compleja

Publicado en Unix - Linux | Deja un comentario

LINUX – Análisis LOG mediante ARRAY ASOCIATIVO (contabiliza apariciones de patrón en archivo LOG). rut – direcciones ip

Tenga presente que para utilizar Arrays Asociativos de tener instalado versión de BASH desde versión 4.0

En el siguiente SCRIPT buscaremos todos los RUTs Chilenos que aparezcan en el archivo LOG, y al finalizar entregara un resumen con la cantidad de veces que apareció cada RUT en el archivo LOG :

El resultado de la ejecución del SCRIPT, sería mas o menos así :

Misma situación para para buscar Direcciones IP en un archivo LOG y entregar un resumen al final con las direcciones IP y la cantidad de veces que aparece en el archivo LOG :

Al ejecutarlo nos entregaría como resultado, algo así :

Publicado en Unix - Linux | Deja un comentario

Openssl – Comprobar Fecha de Caducidad de un Certificado Digital(SSL).

Los certificados SSL tienen un periodo de validez de sólo un año. Si no renuevas tu certificado antes de la fecha límite, tu sitio web quedará inaccesible para los visitantes porque los navegadores lo marcarán como potencialmente vulnerable a amenazas de seguridad.

Los certificados .crt son archivos de seguridad que permiten a los sitios web establecer conexiones seguras con los navegadores. Esto protege la información de los usuarios, como las transacciones con tarjetas de pago, los inicios de sesión y las transferencias de datos. 

Los certificados .crt contienen información cifrada, como la clave pública del servidor y la firma digital de la entidad certificadora

El siguiente código que expongo sirve como PLUGIN para NAGIOS, pero se puede adaptar a cualquier situación que se requiera. Por ejemplo, ejecutarlo mediante CRONTAB y enviar un correo de alerta, cuando este por vencer, etc….

Lo he probado en servidores UNIX, LINUX, SOLARIS, AIX… Y funciona como es esperado. Tratare de documentar lo más claro posible. Trate de no utilizar comandos avanzados, ya que estos solo funcionan en algunas plataformas y la idea es que este código funcione en cualquiera. Con esta misma lógica es posible llevarlo para que se ejecute en WINDOWS :

Al ejecutar el SCRIPTS, me solicitara 4 para metros :

1.- Ruta completa del ejecutable «openssl».

2.- Ruta completa del certificado, para este caso archivo .crt.

3.- Días de alerta CRITICAL (para alertar a consola NAGIOS).

4.- Días de alerta WARNING (para alertar a consola NAGIOS).

Su ejecución directa en el servidor, sería mas o menos así (dar permisos de ejecución al SCRIPT) :

El siguiente código funciona en LINUX. Como pueden ver hace lo mismo, pero el código se reduce bastante….

Publicado en Unix - Linux | Deja un comentario

LINUX – Comando «du» para análisis del uso de espacio en disco.

El comando ‘du’ (Disk Usage) es una herramienta de línea de comandos que nos permite analizar el uso de espacio en disco en sistemas Linux. Esta utilidad es especialmente útil cuando necesitamos identificar los directorios o archivos que están ocupando la mayor cantidad de espacio en nuestro disco duro. En este artículo, exploraremos cómo utilizar el comando ‘du’ de manera efectiva y cómo aprovechar su funcionalidad avanzada para obtener un análisis más detallado del uso de espacio en disco.

Introducción al comando ‘du’ en Linux

El comando ‘du’ es una herramienta estándar en la mayoría de las distribuciones de Linux y se utiliza para mostrar el tamaño de los directorios y archivos en el sistema de archivos. Su sintaxis básica es simple: ‘du’ seguido de las opciones y argumentos necesarios. Al ejecutar ‘du’ sin argumentos adicionales, mostrará el tamaño de los directorios y archivos en el directorio actual, ordenados de mayor a menor.

Para analizar el uso de espacio en disco en Linux, podemos utilizar el comando ‘du’ de diferentes maneras. Una opción común es utilizar la bandera ‘-s’ para resumir el tamaño total de un directorio o archivo en lugar de mostrar el tamaño de cada subdirectorio individualmente. Por ejemplo, para mostrar el tamaño total del directorio especificado.:

Otra opción útil es utilizar la bandera ‘-h’ para mostrar los resultados en un formato legible para los seres humanos, utilizando unidades como kilobytes (KB), megabytes (MB) o gigabytes (GB). Por ejemplo , para mostrar el tamaño total del directorio especificado en un formato legible.

Uso avanzado del comando ‘du’ para un análisis detallado

El comando ‘du’ también ofrece opciones avanzadas que nos permiten obtener un análisis más detallado del uso de espacio en disco. Por ejemplo, podemos utilizar la bandera ‘-a’ para mostrar el tamaño de todos los archivos y directorios en lugar de solo los directorios. Además, la opción ‘-h’ también se puede combinar con esta bandera para obtener resultados legibles para los seres humanos.

Otra opción interesante es utilizar la bandera ‘–max-depth’ seguida de un número para limitar la profundidad del análisis. Por ejemplo, para mostrar el tamaño de los directorios y archivos en el directorio especificado hasta una profundidad máxima de dos niveles.:

Recomendaciones para optimizar el espacio en disco utilizando ‘du’

Una vez que hemos obtenido un análisis detallado del uso de espacio en disco utilizando el comando ‘du’, podemos tomar medidas para optimizar el espacio. Algunas recomendaciones incluyen:

  • Eliminar archivos y directorios no utilizados o innecesarios.
  • Comprimir archivos grandes o antiguos que no se utilizan con frecuencia.
  • Mover archivos grandes a un dispositivo de almacenamiento externo.
  • Utilizar sistemas de archivos más eficientes, como ext4 en lugar de ext3.
  • Configurar cuotas de disco para limitar el espacio utilizado por cada usuario.

Al seguir estas recomendaciones, podemos aprovechar al máximo el espacio en disco disponible y mejorar el rendimiento de nuestro sistema Linux.

En resumen, el comando ‘du’ es una herramienta poderosa para analizar el uso de espacio en disco en sistemas Linux. Con su sintaxis simple y opciones avanzadas, podemos obtener un análisis detallado del espacio utilizado por directorios y archivos. Al utilizar el comando ‘du’ junto con las recomendaciones para optimizar el espacio, podemos mantener nuestro sistema Linux eficiente y maximizar el espacio de almacenamiento disponible.

Publicado en Unix - Linux | Deja un comentario

LINUX – Comando ‘touch’: Creación y modificación de archivos.

En el entorno Linux, el comando ‘touch’ es una herramienta muy útil para crear y modificar archivos de forma rápida y sencilla desde la línea de comandos. Con ‘touch’, los usuarios pueden crear nuevos archivos vacíos, actualizar la fecha de acceso o modificación de un archivo existente, o incluso establecer una fecha y hora específica para un archivo. En este artículo, exploraremos en detalle la sintaxis y las opciones del comando ‘touch’, y cómo utilizarlo para crear y modificar archivos en Linux.

Sintaxis y opciones del comando ‘touch’ en Linux

La sintaxis básica del comando ‘touch’ es la siguiente:

Algunas de las opciones más comunes incluyen:

  • ‘-a’: Actualiza solo la fecha de acceso del archivo.
  • ‘-m’: Actualiza solo la fecha de modificación del archivo.
  • ‘-c’: No crea un nuevo archivo si no existe.
  • ‘-r referencia’: Establece la fecha y hora del archivo según la referencia especificada.
  • ‘-d fecha’: Establece la fecha y hora del archivo según la fecha especificada.

Estas opciones permiten al usuario personalizar la forma en que se crean o actualizan los archivos utilizando el comando ‘touch’.

Cómo utilizar ‘touch’ para crear y modificar archivos en la línea de comandos

El comando ‘touch’ se puede utilizar para crear un archivo vacío simplemente especificando el nombre del archivo como argumento. Por ejemplo, para crear un archivo llamado ‘archivo.txt’, ejecutamos el siguiente comando:

Si deseamos modificar la fecha de acceso o modificación de un archivo existente, podemos utilizar las opciones ‘-a’ o ‘-m’ respectivamente. Por ejemplo, para actualizar solo la fecha de acceso de ‘archivo.txt’, ejecutamos el siguiente comando:

Para establecer una fecha y hora específica para un archivo, podemos utilizar la opción ‘-d’ seguida de la fecha deseada en el formato adecuado. Por ejemplo, para establecer la fecha y hora del archivo ‘archivo.txt’ al 1 de enero de 2022 a las 12:00 PM, ejecutamos el siguiente comando:

Con estas opciones y ejemplos básicos, los usuarios pueden aprovechar al máximo el comando ‘touch’ para crear y modificar archivos según sus necesidades en Linux (Para ver las fechas de creación, modificación de un archivo; podemos utilizar los comando : «stat <archivo> «ls -l <archivo>» «date -r <archivo>»).

El comando ‘touch’ es una herramienta esencial en el entorno Linux para la creación y modificación de archivos desde la línea de comandos. Con su sintaxis simple y opciones versátiles, los usuarios pueden personalizar la forma en que se crean y actualizan los archivos, ya sea estableciendo una fecha y hora específica o actualizando solo la fecha de acceso o modificación. Esto resulta especialmente útil para tareas de automatización y administración del sistema en Linux. Esperamos que este artículo haya sido útil para comprender y aprovechar al máximo el comando ‘touch’ en Linux.

Publicado en Unix - Linux | Deja un comentario