BASH – Algunos SCRIPTS útiles, uso ciclo FOR en una linea.-

1.- Realizar copia de programa a múltiples servidores :

2.- Grabar archivo “copia”  al final del archivo “proceso.cfg” en múltiples servidores :

3.- Reinicia proceso “nagioscl” en múltiples servidores :

4.- Dividir un archivo grande en archivos de 200 líneas :

•             -l 200: divide cada archivo en 200 líneas.

•             -d: usa números en lugar de letras para los sufijos.

•             -a 2: usa 2 dígitos en el sufijo (01, 02, …).

•             servidores-: prefijo del archivo.

Si quiere que tengan, extensión .txt :

5.- Tomo la última línea del archivo “reporte.txt y elimino los ESPACIOS que pudiese tener delante y atrás del texto capturado :

Publicado en Unix - Linux | Deja un comentario

BASH – Monitoreo File System (Plugins NAGIOS). UNIX-LINUX-SOLARIS-AIX.-

Este plugin ha sido desarrollado con el objetivo de ayudar a quienes necesitan monitorear el uso de sistemas de archivos en servidores Unix-Linux-Solaris-Aix,.. Permite monitorear múltiples sistemas de archivos simultáneamente, evaluando: Uso de espacio (en porcentajes) -Umbral de Alerta WARNING – Umbral de alerta CRITICA – Umbral de alerta INODOS.

  • Uso de espacio (en porcentaje)
  • Umbral de alerta CRITICAL
  • Umbral de alerta, Uso de inodos

Cada sistema de archivos se pasa como parámetro al SCRIPTS, en el siguiente formato:

“/usr-95-98-90”

Los valores están separados por guion, el primero corresponde al File System a monitorear, el segundo al umbral WARNING (% de uso), el tercero al umbral CRITICO(% de uso) y el cuarto al umbral de uso INODOS. Al sobrepasar uno de estos umbrales, se gatilla la correspondiente alerta. Se pueden pasar múltiples parámetros, siguiendo este mismo formato.

Este plugin está diseñado para funcionar en todos los sistemas operativos tipo Unix, excluyendo Windows. Ha sido probado exitosamente en:

  • Linux
  • Solaris
  • AIX

Es adaptable según las necesidades específicas de cada entorno.

El orden de las alertas es el siguiente:

  1. CRITICAL (prioridad máxima)
  2. WARNING
  3. OK (con valores informativos)

Esto permite una rápida identificación de problemas graves antes de revisar advertencias o estados normales. Como el plugin está en fase de prueba, agradeceré cualquier comentario, sugerencia o reporte de errores para seguir mejorándolo.

En la salida de la ejecución, muestra los valores obtenidos por cada File System Monitoreado, ya sean en estado OK, WARNING o CRITICO

El el siguiente ejemplo lo lanzaremos para monitorear 3 File system en un determinado servidor SOLARIS y muestra el detalle de salida :

./monfilesys.sh «/-95-98-95» «/usr01-85-90-90» «/tmp-95-98-95»

En el detalle indica que el FS «/» tiene 3.0 Gigas libres, correspondiente al 80% y de inodos el 94% disponible, lo mismo para los 2 siguientes File System…


OK=/ 3.0G(80%)I-94% /usr01 3.6G(96%)I-99% /tmp 3.7G(99%)I-99%

Publicado en Unix - Linux | Deja un comentario

LINUX – Scripts BASH para obtener valor Uf Dolar Euro Utm desde web Banco Central Chile.

Utilizo estos valores para algunos cálculos en aplicaciones. Me permite obtener los valores del día actual.-

Le doy permisos de ejecución al Script : chmod u+x valores.sh Luego al ejecutarlo obtengo el siguiente resultado : (puedo trabajar con los valores por separado)

Publicado en Unix - Linux | Deja un comentario

LINUX – Medir tiempo de ejecución SCRIPT BASH.

En la administración de sistemas y el desarrollo de software, a menudo se necesita medir el tiempo para evaluar el rendimiento de una tarea o un programa. Aunque el tiempo se mide en segundos, puede ser difícil de interpretar si el valor es muy grande. Para facilitar su lectura, es útil convertir los segundos a un formato más convencional, como hora:minuto:segundo (HH:MM:SS).

Aquí hay cinco razones por las que sería una buena idea medir el tiempo de los scripts:

  1. Optimización del rendimiento: Al medir el tiempo de ejecución de los scripts, puedes identificar los cuellos de botella y áreas de mejora en tu código. Esto te permite optimizar el rendimiento y reducir el tiempo de ejecución, lo que es especialmente importante en aplicaciones de tiempo crítico o de alto rendimiento.
  2. Comparación de soluciones: A menudo, hay varias formas de abordar un problema en la programación. Al medir el tiempo de ejecución de diferentes soluciones, puedes comparar su eficiencia y elegir la mejor opción en términos de velocidad y rendimiento.
  3. Monitoreo del rendimiento a lo largo del tiempo: Medir el tiempo de ejecución de los scripts de manera regular te permite llevar un registro del rendimiento a lo largo del tiempo. Esto puede ser útil para detectar degradaciones en el rendimiento a medida que se introducen cambios en el código o en el entorno de ejecución, permitiendo así solucionar problemas antes de que se vuelvan críticos.
  4. Establecer expectativas realistas: Al conocer el tiempo de ejecución de tus scripts, puedes establecer expectativas realistas para los usuarios finales y otros miembros del equipo en cuanto a cuánto tiempo tomará completar ciertas tareas. Esto también puede ayudar en la planificación de recursos y en la evaluación de la viabilidad de ciertas características o soluciones.
  5. Identificación de problemas de escalabilidad: Cuando un script se ejecuta con diferentes tamaños de entrada o en diferentes entornos o simplemente la carga de trabajo aumento con el tiempo, el tiempo de ejecución puede variar significativamente. Medir el tiempo de ejecución en estas situaciones te ayuda a identificar problemas de escalabilidad y a tomar decisiones informadas sobre cómo manejar la carga de trabajo y la distribución de recursos en función de la demanda y el rendimiento esperados.

Para calcular el tiempo de ejecución de un script Bash, puedes usar el comando time antes de ejecutar el script. Este comando mostrará el tiempo real, el tiempo de usuario y el tiempo del sistema empleado en la ejecución.

O ejecutar el siguiente SCRIPT :

Al ejecutarlo, mostraría el siguiente resultado :

Publicado en Unix - Linux | Deja un comentario

Formas de ejecutar Múltiples Comandos a Través de una conexión SSH.

1.-  Usar comandos separados por punto y coma :

Este ejemplo cambiará al directorio /var/log, contará la cantidad de líneas que contienen “error” en el archivo syslog y mostrará las últimas 5 líneas del archivo syslog.

2.- Usar comandos separados por doble ampersand :

Este ejemplo cambiará al directorio /var/log, creará un archivo comprimido de syslog como syslog.gz y eliminará el archivo syslog original solo si los comandos anteriores tuvieron éxito.

3.- Usar comandos separados por un solo ampersand :

Este ejemplo buscará todos los archivos .txt en el directorio raíz y guardará los resultados en archivos.txt, esperará 5 segundos e imprimirá “¡Terminado!”, todo en paralelo.

4.- Usar la agrupación de comandos :

Este ejemplo ejecutará dos grupos de comandos en paralelo: el primer grupo cambiará al directorio /var/log y guardará todas las líneas que contienen “error” del archivo syslog en errores.log, y el segundo grupo cambiará al directorio /var/tmp y mostrará el uso del disco para cada elemento.

5.- Usar una subcapa :

Este ejemplo cambiará al directorio /var/log, contará la cantidad de líneas que contienen “error” en el archivo syslog y mostrará las últimas 5 líneas del archivo syslog, todo dentro de una subcapa (Ejecutar una subcapa (subshell) en Bash ofrece varias ventajas, incluyendo la capacidad de modificar el entorno de forma temporal, ejecutar comandos en paralelo y aislar procesos. Las subcapas permiten crear entornos de ejecución independientes dentro de los scripts, lo que facilita la gestión de procesos y la ejecución de comandos sin afectar el entorno principal).

6.- Ejecutar un script local de forma remota :

Para ejecutar un script local en el servidor remoto, se  ejecuta de esta forma..

7.- Usar un Here Document :

Este ejemplo cambiará al directorio /var/log, contará la cantidad de líneas que contienen “error” en el archivo syslog y mostrará las últimas 5 líneas del archivo syslog en el host remoto.

Publicado en Unix - Linux | Deja un comentario