Estou escrevendo um script para fazer automaticamente o teste de ping. porque eu tenho centenas de pontos de extremidade para pingar uns aos outros, e eu não quero que o script pare de funcionar porque o ping está travado, então eu uso o tempo limite e executo o ping em segundo plano. e também quero salvar as estatísticas de ping no arquivo.
Em primeiro lugar eu tentei comandos abaixo:
timeout 20s ssh hostA "ping -c 30 -I 192.6.2.50 192.6.2.28 " | awk '{print "from 50 to 28 |",$0;}' &
e eu tenho o resultado mostra na tela que é o que eu esperava:
from 50 to 28 | PING 192.6.2.28 (160.6.24.28) from 192.6.2.50 : 56(84) bytes of data.
from 50 to 28 | 64 bytes from 192.6.2.28: icmp_seq=1 ttl=64 time=0.264 ms
from 50 to 28 | 64 bytes from 192.6.2.28: icmp_seq=2 ttl=64 time=0.245 ms
from 50 to 28 | 64 bytes from 192.6.2.28: icmp_seq=3 ttl=64 time=0.220 ms
from 50 to 28 | 64 bytes from 192.6.2.28: icmp_seq=4 ttl=64 time=0.214 ms
from 50 to 28 | 64 bytes from 192.6.2.28: icmp_seq=5 ttl=64 time=0.123 ms
....
Killed by signal 15.
mas quando tentei salvar essa saída no arquivo, ele falhou, abaixo está o comando que eu usei:
timeout 20s ssh cic-1 "ping -c 30 -I 192.6.2.50 192.6.2.28 " | awk '{print "from 50 to 28",$0;}' | tee -i -a path/timeout_test.txt &
mas não tenho nada em timeout_test.txt
Eu também tentei o comando abaixo, eu criei o timeout_test.txt antes do comando ser executado.
timeout 20s ssh cic-1 "ping -c 30 -I 192.6.2.50 192.6.2.28 " | awk '{print "from 50 to 28",$0;}' >> path/timeout_test.txt &
mas ainda não recebi nada.