BASH – Script manejo de arreglos para control de procesos.

Este script es bastante interesante en cuanto al manejo de arreglos en BASH, para este ejemplo supondremos que tenemos el siguiente archivo de texto en donde el primer campo correspondera al servicio que queremos controlar y los siguientes campos a los servidores involucrado para ese servicio..

apache;uno;dos;tres;cuatro
mysql;zeus;jupiter;luna
php;boldo;arrayan

A continuación el script que se encarga de leer el archivo y iterar por los servicios. Este SCRIPT presentado comoe ejemplo se puede adaptar para cualquier situación..

#!/bin/bash
arreglo=/usr01/home/process/servicios.txt
i=0
for host in $(cat $arreglo)
do
   HOST[${i}]=$host
   (( i=i+1 ))
done
hostcount=${#HOST[*]}

j=0
l=1
while [ $j -lt $hostcount ]
do
   echo "Linea $l ==>> ${HOST[$j]}"
   motor=(`echo ${HOST[$j]} | tr ';' ' '`)
   motcount=${#motor[*]}
   m=1
   while [ $m -lt $motcount ]
     do
          echo "Procesando servicio ${motor[0]} del servidor ${motor[$m]}"
          (( m=m+1 ))
     done
   (( j=j+1 ))
   (( l=l+1 ))
done

Al ejecutar el script, obtendremos el siguiente resultado..

Linea 1 ==>> apache;uno;dos;tres;cuatro
Procesando servicio apache del servidor uno
Procesando servicio apache del servidor dos
Procesando servicio apache del servidor tres
Procesando servicio apache del servidor cuatro
Linea 2 ==>> mysql;zeus;jupiter;luna
Procesando servicio mysql del servidor zeus
Procesando servicio mysql del servidor jupiter
Procesando servicio mysql del servidor luna
Linea 3 ==>> php;boldo;arrayan
Procesando servicio php del servidor boldo
Procesando servicio php del servidor arrayan
Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.