Linux/Unix Shell Scripting - Ping a varias IPs y guardar el resultado en un archivo de texto

 
Vista:
sin imagen de perfil
Val: 11
Ha disminuido 1 puesto en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Ping a varias IPs y guardar el resultado en un archivo de texto

Publicado por Edgar (6 intervenciones) el 13/12/2016 14:56:00
Hola a todos...


Necesito hacer un bash para linux el cual realice un ping a una dirección que tiene que ir cambiando es decir, tengo un array donde se encentran las IPs. La idea era realizar un "for" donde se realice el ping y lo guarde en
un documento de texto donde el nombre es la posición de la IP...

De momento tengo esto:

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
 
 
# definimos un array de valores
ip=("192.168.1.1" "192.168.1.2" "192.168.1.3")
po=("1" "2" "3")
 
for item in ${ip[*]}
do
 
        ping -c 4 $item
done

Me falta el guardar con el nombre correspondiente....


Gracias por la ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 11
Ha disminuido 1 puesto en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Ping a varias IPs y guardar el resultado en un archivo de texto

Publicado por Edgar (6 intervenciones) el 13/12/2016 15:22:43
Ha habido un pequeño error y el blog me a guardado la versión antigua del codigo. El codigo bueno es:

Archivo 1 (llamado ip.cfg):
1
2
IP1="192.168.1.1"
IP2="192.168.1.198"

Archivo 2(llamado pingAvanzado.sh):
1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
 
source ip.cfg
 
ip=($IP1 $IP2)
 
for item in ${ip[*]}
do
 
        ping -c 4 $item
done

Ahora si, este es el código... Lo único que me falta es que cuando termine del ping me lo guarde en el archivo con el nombre IP1.txt o IP2.txt y así sucesivamente... También, si hubiera alguna manera de que la variable "ip" aumentara o disminuyera según el archivo ip.cfg seria perfecto...

Gracias, y disculpen las molestias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 104
Oro
Ha mantenido su posición en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Ping a varias IPs

Publicado por xve (308 intervenciones) el 13/12/2016 15:33:08
Hola Edgar, una manera sera así:
1
2
3
4
5
for item in ${ip[*]}
do
	result=`ping -c 4 $item`
	echo $result >> $item".txt"
done

En este ejemplo, se genera un archivo .txt con el nombre de la IP.

Te sirve?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 11
Ha disminuido 1 puesto en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Ping a varias IPs

Publicado por Edgar (6 intervenciones) el 13/12/2016 18:45:04
Si y no, me explico, esto genera un nombre que es la IP, algo que encuentro demasiado largo. Me gustaría que fuera un nombre como IP1.TXT, IP2.TXT, IP3.TXT...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2
Ha aumentado su posición en 3 puestos en Linux/Unix Shell Scripting (en relación al último mes)
Gráfica de Linux/Unix Shell Scripting

Ping a varias IPs

Publicado por José Luis (2 intervenciones) el 17/12/2016 00:08:21
Hola,

Algo así estuve buscando una vez y encontré este script. https://bash.cyberciti.biz/monitoring/monitor-windows-linux-server-with-ping-script/

Espero te dé una idea.

En los comentarios puse mi script personal partiendo del indicado en la pagina.


Saludos
José Luis
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar