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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
@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 |