BATCH – Monitoreo remoto desde WINDOWS a un server UNIX.

Este script en BATCH lo utilizo desde WINDOWS para monitorear LOGs de procesos corriendo en servidores UNIX, esto con el comando «TAIL -f».

Para ejecutar comandos en forma remota en el servidor UNIX, utilizo el utilitario «plink.exe», desde aquí se puede bajar http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

plink.exe -pw pepe jose@127.0.0.1 ls -l

En este caso conecto a la maquina remota 127.0.0.1 como usuario jose, password pepe y ejecuto el comando “ls -l”

También podemos escribir un script de comandos y ejecutarlo con el parámetro -m.

plink -pw jose -m BACKUP.sh jose@127.0.0.1

Donde BACKUP.sh es el fichero que contiene la lista de todos los comandos que queremos ejecutar en remoto.

@echo off
setlocal enabledelayedexpansion
:menu
rem Estas son las rutas donde se encuentras los archivos log
set ruta1=/usr01/home/val/EXTERNO_2009/bin/
set ruta2=/APP/home/prod/EXTERNO_2010/bin/
echo.
echo.
rem Generación de menú en batch
echo          LOG de TRABAJOS
echo.
echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º # 1 Proceso 2009                   º
echo º # 2 Proceso 2010                   º
echo º                                    º
echo º # 6 Salir de la aplicacion         º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
echo.
set /p num=Escribe un numero[1,2,3,4,5]:
if not defined num goto menu
if %num%==1 goto m2009
if %num%==2 goto m2010
if %num%==6 exit
goto menu

:m2009
echo.
set c=0
rem Ejecuto el comando remoto y almaceno el resultado en un array
FOR /F "usebackq" %%a in (`plink.exe -ssh  -pw password usuario@servidor ls -1 %ruta1%*.log`) do (
            set /a c+=1
            call set unico!c!=%%a
)
set i-unico=!c!
echo         Archivo LOG encontrados
echo.
rem Muestro los resultados almacenados en el array - todos los archivos .log encontrados
for /l %%n in (1,1,!c!) do (echo %%n - !unico%%n!)

:m2009ve
echo.
rem solicito el numero del log que se desea monitorear
set /p num=Archivo a procesar con TAIL [1 - %i-unico%]:
set /a x=%num%*1
echo.
if "%x%"=="%num%" (echo            %num% - !unico%num%!) else (goto m2009ve)
echo.
echo             Mostrando Archivo LOG solicitado
echo.
rem Aquí se muestra el avance del archivo log que se esta monitoreando
plink.exe -ssh  -pw password usuario@servidor tail -f !unico%num%!
pause
goto m2009

rem Mismo proceso anterior para otro periodo - la lógica es idéntica al caso anterior
:m2010
echo.
set c=0
FOR /F "usebackq" %%a in (`plink.exe -ssh  -pw password usuario@servidor ls -1 %ruta2%*.log`) do (
            set /a c+=1
            call set unico!c!=%%a
)
set i-unico=!c!
echo         Archivo LOG encontrados
echo.
for /l %%n in (1,1,!c!) do (echo %%n - !unico%%n!)

:m2010ve
echo.
set /p num=Archivo a procesar con TAIL [1 - %i-unico%]:
set /a x=%num%*1
echo.
if "%x%"=="%num%" (echo            %num% - !unico%num%!) else (goto m2010ve)
echo.
echo             Mostrando Archivo LOG solicitado
echo.
plink.exe -ssh  -pw password usuario@servidor tail -f !unico%num%!
pause
goto m2010
Esta entrada fue publicada en Unix - Linux. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *