From af83e6053ac1095b2d5ecdda2bb66c22245acefb Mon Sep 17 00:00:00 2001 From: juanlf Date: Mon, 16 Jun 2025 20:44:12 +0000 Subject: [PATCH] Subir archivos a "/" --- check_conexion_SIA.sh | 32 +++++++++ cpvalcps.awk | 127 ++++++++++++++++++++++++++++++++++++ list_files_cambio_sesion.sh | 28 ++++++++ 3 files changed, 187 insertions(+) create mode 100644 check_conexion_SIA.sh create mode 100644 cpvalcps.awk create mode 100644 list_files_cambio_sesion.sh diff --git a/check_conexion_SIA.sh b/check_conexion_SIA.sh new file mode 100644 index 0000000..6a3b997 --- /dev/null +++ b/check_conexion_SIA.sh @@ -0,0 +1,32 @@ +#!/bin/sh + +/usr/bin/netstat -an|/usr/bin/awk ' BEGIN { + pmc="KO"; srv="KO"; count_fr=0; count_bd=0; frontales[0]=""; cont_bd[""]=""; hsm_count[""]=""; + } + /.+193\.16\.243\.254\.2317.+ESTABLISHED/ { pmc="OK"; split ($0,netstat_pmc," ") } + /.+193\.16\.243\.254\.9128.+ESTABLISHED/ { srv="OK"; split ($0,netstat_srv," ") } + / .*\.*\.*\.*\.5101.+ESTABLISHED/ { frontales[count_fr]=$0; count_fr++; } + / .*\.*\.*\.*\.1521.+ESTABLISHED/ { bd[count_bd]=$0; count_bd++; cont_bd[$2]+=1; } + / .*\.*\.*\.*\.5200.+ESTABLISHED/ { hsm_count[$2]+=1 } + + END { + print + print "Conexiones con Redsys:" + print "PMC:",pmc,"("netstat_pmc[1],"-",netstat_pmc[2],"-", netstat_pmc[7]")" + print "SRV:",srv,"("netstat_srv[1],"-",netstat_srv[2],"-", netstat_srv[7]")" + print + print "Conexiones MAQ con resto de frontales:" + for (i in frontales) + print frontales[i] + print + print "Conexiones con Base de Datos:" + for (i in cont_bd) + if (cont_bd[i] > 0) + print i,"-",cont_bd[i],"conexiones ESTABLISHED" + print + print "Conexiones con HSM:" + for (i in hsm_count) + if (hsm_count[i] > 0) + print i,"-",hsm_count[i],"conexiones ESTABLISHED" + print + }' diff --git a/cpvalcps.awk b/cpvalcps.awk new file mode 100644 index 0000000..a73125f --- /dev/null +++ b/cpvalcps.awk @@ -0,0 +1,127 @@ +#!/usr/bin/nawk -f + +# Se usan arrays asociativos a modo de tablas indexados por campo "Sia eje" +# Tabla: Campo1 | Campo2 +# Descripcion: Modulo | Desc +# Errores: Sia eje | Contador errores +# Procesos: Sia eje | Num procesos +# Tahgproc.cfg: Sia eje | Num configurado de procesos +# Modulo: Sia eje | Modulo + +# funcion basename +function basename(p) { n=split(p,a,"/"); return a[n]; } + +BEGIN { + + # Creamos tabla "Descripcion" con los modulos y su descripcion + Descripcion["000001"]="MGO" + Descripcion["000001X"]="Conectividad HSM" + Descripcion["000001Y"]="Conectividad Maq ONL" + Descripcion["010002"]="TPV" + Descripcion["040001"]="PMC" + Descripcion["040001X"]="Conectividad PMC" + Descripcion["040001Y"]="Conectividad Maq PMC" + Descripcion["050001"]="PSR" + Descripcion["050001X"]="Conectividad PSR" + Descripcion["050001Y"]="Conectividad Maq PSR" + + # Configuracion inicial + file_tahgproc_cfg="/sia/dat/tahgproc.cfg" + file_errores="/export/userf5/cpvalpcs_errores" + file_log="/export/userf5/cpvalpcs.log" + + procesos_sia="/usr/bin/ptree sia" + max_errores=5 + salida="OK" + ko=0 + + # Leer fichero con los errores acumulados y creamos tabla "Errores" con los acumulados por proceso + while ((getline < file_errores) > 0) + { + split ($0,linea,"|"); + Errores[linea[1]]=linea[2]; + } + close file_errores + + # Creamos tabla "Procesos" con los procesos en ejecucion de sia + while ((procesos_sia | getline ) > 0) { + if ($3) { sia_eje=basename($2)" "$3 } else { sia_eje=basename($2)} + Procesos[sia_eje]++; + } + close procesos_sia + + # Creamos tablas: "Tahgproc_cfg" - procesos configurados en "/sia/dat/tahgproc.cfg" + # "Modulo" - relaciona el modulo SIA con sus ejecutables + while ((getline < file_tahgproc_cfg) > 0) + { + if ($1 !~ /^#/ && $0 !~ /^$/ ) { + if ($2 == "tahgneti") { sia_eje="tahginet "$8 } + else { + if ($8 == "F") { sia_eje=$2 } else {sia_eje=$2" "$8} + } + Tahgproc_cfg[sia_eje]=$3; + Modulo[sia_eje]=$1; + } + } + close file_tahgproc_cfg + + # Chequeamos discrepancias + for (sia_eje in Tahgproc_cfg) { + # Ajustes procesos tahginet, se duplican + if (sia_eje == "tahginet PCSM" || sia_eje == "tahginet SRMP") { Tahgproc_cfg[sia_eje]*=2; } + if (sia_eje == "taegTAGT" \ + || sia_eje == "tahginet SIA1" || sia_eje == "tahginet SIA2" || sia_eje == "tahginet SIA3" || sia_eje == "tahginet SIA4" \ + || sia_eje == "tahginet SIS1" || sia_eje == "tahginet SIS2" || sia_eje == "tahginet SIS3" || sia_eje == "tahginet SIS4" \ + || sia_eje == "tahginet ONL1" || sia_eje == "tahginet ONL2" || sia_eje == "tahginet ONL3" || sia_eje == "tahginet ONL4" ) + { Tahgproc_cfg[sia_eje]=0} + + if (Tahgproc_cfg[sia_eje] > 0) + { + if (Tahgproc_cfg[sia_eje] != Procesos[sia_eje]) { Errores[sia_eje]++; } + else { Errores[sia_eje]=0} + printf "%s|%d\n", sia_eje,Errores[sia_eje] > file_errores + } + if (Errores[sia_eje] > max_errores) + { + if (Modulo[sia_eje] ~ "040001") + { + severity="WR" + Mod_WR[Modulo[sia_eje]]++ + split (sia_eje, eje ," "); + Eje_WR[eje[1]]++ + } + else + { + ko=1 + severity="KO" + Mod_KO[Modulo[sia_eje]]++ + split (sia_eje, eje ," "); + Eje_KO[eje[1]]++ + + } + salida=severity + "date +'%h %d %H:%M:%S'" | getline fecha + printf "%s %s Modulo: [%s - %s] Proceso: [%s] Esperado: (%d) Encontrado: (%d)\n",\ + fecha,severity,Modulo[sia_eje],Descripcion[Modulo[sia_eje]],sia_eje,Tahgproc_cfg[sia_eje],Procesos[sia_eje]\ + >> file_log + } + } + + # En funcion del resultado mostramos la salida + if (salida=="KO" || ko==1) + { + printf "KO - Modulos SIA: ["; count=0; + for (var in Mod_KO) { if (count>0){printf ", "}; count++; printf var"-"Descripcion[var] } + count=0; printf "] - Procesos: [" + for (var in Eje_KO) { if (count>0){printf ", "}; count++; printf var } printf "]\n" + } + else if (salida=="WR") + { + printf "WR - Modulos SIA: ["; count=0 + for (var in Mod_WR) { if (count>0){printf ", "}; count++; printf var"-"Descripcion[var] } + count=0; printf "] - Procesos: [" + for (var in Eje_WR) { if (count>0){printf ", "}; count++; printf var }; printf "]\n" + } + else {print "OK"} +} + diff --git a/list_files_cambio_sesion.sh b/list_files_cambio_sesion.sh new file mode 100644 index 0000000..da03af9 --- /dev/null +++ b/list_files_cambio_sesion.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +# Parametro1 - Ficheros de ultimos N dias + +PATH_BCK=/sia/dat/backup +PATRON_FILES="-name SIASP010.FTAP080S0.HISOPVPMC* + -o -name SIASS010.FTAS080S0.HISOPVPSR* + -o -name SIASD010.FTAD080S0.HISOPEVPOS* + -o -name SIASA001.FTAA093S0.LOGMGO* + -o -name SIASA001.FTAG020S0.ICDGEN*" + +DIAS=$1; : ${DIAS:="7"} + +echo "----------------------------------------------------------------------------" +echo "Ficheros historicos sesiones guardados en $PATH_BCK - (ultimos $DIAS dias)" +echo "----------------------------------------------------------------------------" + +/usr/bin/find $PATH_BCK -type f \( $PATRON_FILES \) -mtime -$DIAS -ls | /usr/bin/sort -k 8M,8 -k9| awk '{ +dia=$9; +if (aux == dia) { + print +} +else { + print " " + print +} +aux=dia +}'