Si es un lector habitual de este blog y le gusta su contenido quizá quiera contribuir a su mantenimiento. Cualquier cantidad por pequeña que sea será bien recibida.
Gracias por tu aporte.
Comentarios recientes
- Anónimo en UNIX – Pedir confirmación antes de ejecutar un script.-
- Rodrigo en LINUX – Parsear documento XML en script bash.
- Ricardo en LINUX – Parsear documento XML en script bash.
- Gonzalo Reiser A. en BASH – SCRIPT para monitoreo de archivo LOG.-
- Gonzalo Reiser A. en BASH – SCRIPT para monitoreo de archivo LOG.-
Archivos
- marzo 2024 (3)
- febrero 2024 (2)
- enero 2024 (11)
- diciembre 2023 (1)
- noviembre 2023 (10)
- septiembre 2023 (5)
- agosto 2023 (10)
- junio 2023 (3)
- mayo 2023 (4)
- abril 2023 (10)
- febrero 2023 (3)
- enero 2023 (1)
- diciembre 2022 (2)
- noviembre 2022 (1)
- agosto 2022 (4)
- julio 2022 (1)
- junio 2022 (4)
- febrero 2022 (9)
- abril 2021 (1)
- enero 2021 (3)
- diciembre 2020 (2)
- noviembre 2020 (2)
- octubre 2020 (1)
- septiembre 2020 (4)
- agosto 2020 (1)
- julio 2020 (1)
- junio 2020 (5)
- mayo 2020 (12)
- abril 2020 (1)
- enero 2020 (1)
- noviembre 2019 (5)
- octubre 2019 (4)
- septiembre 2019 (1)
- agosto 2019 (1)
- julio 2019 (11)
- junio 2019 (1)
- julio 2018 (3)
- octubre 2017 (1)
- septiembre 2017 (2)
- agosto 2017 (3)
- julio 2017 (11)
- mayo 2017 (6)
- abril 2017 (3)
- marzo 2017 (7)
- febrero 2017 (1)
- diciembre 2016 (3)
- octubre 2016 (4)
- septiembre 2016 (2)
- agosto 2016 (10)
- julio 2016 (9)
- junio 2016 (9)
- mayo 2016 (27)
- abril 2016 (10)
- marzo 2016 (15)
- enero 2016 (3)
- diciembre 2015 (7)
- octubre 2015 (2)
- septiembre 2015 (3)
- agosto 2015 (9)
- julio 2015 (11)
- junio 2015 (22)
- mayo 2015 (7)
- abril 2015 (22)
- marzo 2015 (5)
- febrero 2015 (2)
- enero 2015 (10)
- diciembre 2014 (7)
- noviembre 2014 (3)
- octubre 2014 (2)
- septiembre 2014 (4)
- agosto 2014 (22)
- julio 2014 (15)
- junio 2014 (8)
- mayo 2014 (6)
- abril 2014 (10)
- marzo 2014 (15)
- febrero 2014 (3)
- enero 2014 (15)
- diciembre 2013 (11)
- noviembre 2013 (25)
- octubre 2013 (46)
- septiembre 2013 (30)
Archivo mensual: septiembre 2013
BATCH – Diferencia entre Hora1 y Hora2.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
@echo off setlocal ENABLEEXTENSIONS call :segundos %1 set /a d=j call :segundos %2 set /a d=%j% - %d% call :horas %d% echo %p%:%q%:%segun%&endlocal&goto :EOF :segundos for /f "tokens=1,2,3 delims=:-/." %%a in ("%1") do ( set hh=%%a&set mm=%%b&set ss=%%c) set /a h=%hh% * 3600 set /a m=%mm% * 60 set /a j=%h% + %m% + %ss% goto :EOF :horas set /a p=%d% / 3600 set /a resto=%d% - (%p% * 3600) set /a q=%resto% / 60 set /a segun=%resto% - (%q% * 60) goto :EOF |
Publicado en BATCH - DOS
Deja un comentario
BATCH – Chequeo ping.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
@echo off set nom=VULCANO set dip=20.210.75.150 set out=C:\SNMP-monitoreo\offline\ :comienzo for /f "tokens=1-4 delims=- " %%a in ('date/t') do (set dia=%%a& set mes=%%b& set ano=%%c) set fecha=%dia%-%mes%-%ano% SET hor=%TIME:~,2% SET min=%TIME:~3,2% SET seg=%TIME:~6,2% set hora=%hor%:%min% set dip0=0 set dip1=0 :consulta if exist %out%%dip% set dip0=1 ping %dip% -w 700 2>nul | find "TTL=" >NUL || set dip1=1 if %dip0%==0 if %dip1%==0 (goto :salida) if %dip0%==1 if %dip1%==0 (del /f /q %out%%dip% goto :salida) echo %nom% > %out%%dip% :salida exit |
Publicado en BATCH - DOS
Deja un comentario
BATCH – Sumar o restar dias.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
@echo off setlocal ENABLEEXTENSIONS call :dias 4 set /a j+=%2 call :inc %j% echo %dd%/%mm%/%yy% pause endlocal goto :EOF :dias for /f "tokens=1,2,3 delims=-/." %%a in ("%1") do ( set dd=%%a&set mm=%%b&set yy=%%c) set /a dd=100%dd%%%100,mm=100%mm%%%100 set /a z=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2 set /a j=j/5+dd+y*365+y/4-y/100+y/400-2472633 goto :EOF :inc set /a a=%1+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a set /a d=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5 set /a dd=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10 (if %mm% LSS 10 set mm=0%mm%)&(if %dd% LSS 10 set dd=0%dd%) goto :EOF |
Publicado en BATCH - DOS
Deja un comentario
BATCH – Manejo de variables.
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 |
@echo off set prueba=ESTA ES UNA PRUEBA ECHO. ECHO. echo La variable completa es "%prueba%" SET DIA=%DATE:~,2% SET MES=%DATE:~3,2% SET AÑO=%DATE:~6,4% SET prueba=%prueba:~7,11% ECHO. ECHO PUEDO MANEJAR EL DIA, MES Y ANO EN FORMA SEPARADA echo La fecha actual es %DIA% %MES% %AÑO% ECHO. ECHO. ECHO PUEDO RESCATAR CUALQUIER POSICION DE LA VARIABLE EN EL FORMATO DESDE - HASTA echo Rescato solo desle del 8vo caracter y 11 caracteres "%prueba%" ECHO. SET HOR=%TIME:~,2% SET MIN=%TIME:~3,2% SET SEG=%TIME:~6,2% ECHO PUEDO MANEJAR LAS HORAS, MINUTOS Y SEGUNDOS EN FORMA SEPARADA ECHO SON LAS %HOR% %MIN% %SEG% ECHO. ECHO. pause exit |
Publicado en BATCH - DOS
Deja un comentario
BATCH – Lee archivos en memoria y luego los imprime (array).
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 |
@echo off setlocal enabledelayedexpansion :lee-unico set c=0 for /f "tokens=*" %%a in (unico.txt) do ( set /a c+=1 call set unico!c!=%%a ) set i-unico=!c! :lee-up set c=0 for /f "tokens=*" %%a in (up.txt) do ( set /a c+=1 call set up!c!=%%a ) set i-up=!c! :lee-down set c=0 for /f "tokens=*" %%a in (down.txt) do ( set /a c+=1 call set down!c!=%%a ) set i-down=!c! echo todos los Archivos Leidos unico - up - down pause for /l %%n in (1,1,!c!) do (echo !unico%%n!) echo "Indice Unico=%i-unico%" pause for /l %%n in (1,1,!c!) do (echo !up%%n!) echo "Indice up=%i-up%" pause for /l %%n in (1,1,!c!) do (echo !down%%n!) echo "Indice Down=%i-down%" pause endlocal exit |
Publicado en BATCH - DOS
Deja un comentario
BATCH – Puertos en escucha en el sistema.
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 |
@echo off setlocal enabledelayedexpansion if exist %temp%\puertos.tmp del %temp%\puertos.tmp >nul tasklist > %temp%\tareas.tmp for /F "usebackq tokens=2,3,4,5,6,7 delims=: " %%g in (`netstat -nao ^| find "LISTENING"`) do ( set sz1=%%h: 0 for /f "tokens=1,2 delims=:" %%s in ("!sz1:~,6!") do set sz1=%%t%%s for /F "usebackq skip=4 tokens=1,2" %%m in (%temp%\tareas.tmp) do if %%l == %%n ( set sz3=%%n: 0 for /f "tokens=1,2 delims=:" %%s in ("!sz3:~,6!") do set sz3=%%t%%s set sz2=%%m: = for /f "tokens=1,2 delims=:" %%s in ("!sz2:~,16!") do set sz2=%%s%%t echo !sz1! !sz2!!sz3! >>%temp%\puertos.tmp ) ) echo. echo Puertos en escucha en el sistema echo. echo Puerto Programa PID echo ------ ------------ ---- set iant= for /F "tokens=1* delims=" %%i in ('SORT %temp%\puertos.tmp') do if %%i NEQ !iant! (echo %%i) & set iant=%%i echo. del %temp%\puertos.tmp >nul del %temp%\tareas.tmp >nul endlocal pause goto :EOF |
Publicado en BATCH - DOS
Deja un comentario
UNIX – LINUX – Permisos para usar y editar los crontabs.
Antes de iniciar con las sintaxis y comandos cron de Unix, es necesario hacer una rápida revisión al sistema de restricciones para los usuarios. Para que un usuario pueda ejecutar la instrucción crontab, lo primero que se tiene que hacer … Sigue leyendo
Publicado en Unix - Linux
Deja un comentario
BASH – Captura Dirección IP a partir de nombre de HOSTS.
En el siguiente SCRIPT BASH se muestra la forma de leer un archivo que contiene nombres de HOSTS y apartir de estos se genera un nuevo archivo con la dirección IP y el nombre del Hosts.
1 2 3 4 5 6 7 8 |
#!/bin/ksh servidor="/usr01/home/prueba/lista_servidores.txt" cat $servidor | while read line;do ser=$line echo $line dip=`/usr/sbin/ping -a $ser | cut -d "(" -f 2 | cut -d ")" -f 1` echo $dip" - "$ser >> servidores.txt done |
Publicado en Unix - Linux
Deja un comentario
BASH – Manejo de funciones.
En el siguiente Script BASH se muestra el uso de funciones y retorno de valores.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
#!/bin/bash funcion2() { if [ -f /bin/ls -a -f /bin/ln ]; then return 0 else return 1 fi } # Programa principal if funcion2; then echo "Los dos ficheros existen" else echo "Falta uno de los ficheros - adiós" exit 1 fi |
Publicado en Unix - Linux
Deja un comentario
BASH – Manejo de Arrays.
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 |
#!/bin/bash <<INFO Ejemplo de utilización de arrays en bash ${valores[*]} # Muestra todos los valores de un array ${!valores[*]} # Muestra todos los indices de un array ${#valores[*]} # Devuelve el numero de valores en un array ${#valores[0]} # Devuelve la longitud del indice 0 INFO # definimos un array de valores valores=("primero" "segundo" "tercero") # añadimos un nuevo valor en la posicion 3 del array valores[3]="quarto" # añadimos un nuevo valor en la posicion 5 del array valores[5]="quinto" printf "\nCantidad de valores dentro del array\n" printf " %s\n" ${#valores[*]} printf "\nMostramos un valor dado\n" printf " %s\n" ${valores[2]} printf "\nMostramos la longitud del indice 2\n" printf " %s\n" ${#valores[2]} # recorremos todos los valores del array printf "\nmostramos todos los valores\n" for item in ${valores[*]} do printf " %s\n" $item done # recorremos todos los indices del array printf "\nMostramos todos los indices\n" for index in ${!valores[*]} do printf " %d\n" $index done # mostramos los indices y sus valores printf "\nMostramos todos los indices con sus valores\n" for index in ${!valores[*]} do printf "%4d: %s\n" $index ${valores[$index]} done |
Publicado en Unix - Linux
Deja un comentario