bash script remote ssh ping an cisco router bricht ab

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
bojan
Beiträge: 2
Registriert: 19.09.2019 15:03:04

bash script remote ssh ping an cisco router bricht ab

Beitrag von bojan » 19.09.2019 15:17:35

hallo leute,
ich hoffe jemand kann mir hierbei helfen. ich versuche einige abfragen an endeinheiten (cisco router) durchzuführen und soweit klappt alles, nur bei dem ping befehl bricht das script ab und zwar nach dem ersten ping response:

Code: Alles auswählen

routername#ping xxx.xxx.xxx.xxx source loopback xx
Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to xxx.xxx.xxx.xxx, timeout is 2 seconds:
Packet sent with a source address of xxx.xxx.xxx.xxx
!

normalerweise sollten da 5 !!!! ausrufezeichen stehen und die ping ergebnisse: packages, laufzeit etc.

dazu benutze ich folgendes script:

Code: Alles auswählen

#!/bin/bash
echo "$1"
var1=$(ssh user@$1 << "ENDSSH"
sh version | incl System image file
sh ip interface INTx  | incl MTU
show controllers VDx | incl Speed
sh cellular 0 radio | include RSS
sh cellular 0 netw | include Selected
ping xxx.xxx.xxx.xxx source loopback xx
ENDSSH)
echo "$var1" > log
wenn ich die ping befehle einzeln im script packe, aber auch einzeln aus der shell aufrufe:

Code: Alles auswählen

ssh "user@$1" 'ping xxx.xxx.xxx.xxx source loopback xx' > log
ssh user@$1 "ping xxx.xxx.xxx.xxx source loopback xx" | tee -a log
klappt das perfekt...
was kann ich machen damit auch der ping befehl über ssh und heredoc in einem rutsch durchgeht... wo liegt hier der fehler?
allerliebsten dank schon mal im voraus...

Benutzeravatar
Tintom
Moderator
Beiträge: 3066
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: bash script remote ssh ping an cisco router bricht ab

Beitrag von Tintom » 24.09.2019 17:23:36

Was willst du mit dem Pipe-Konstrukt erreichen?

bojan
Beiträge: 2
Registriert: 19.09.2019 15:03:04

Re: bash script remote ssh ping an cisco router bricht ab

Beitrag von bojan » 25.09.2019 08:45:24

Tintom hat geschrieben: ↑ zum Beitrag ↑
24.09.2019 17:23:36
Was willst du mit dem Pipe-Konstrukt erreichen?
hey tom,
die ausgaben gehen in einer log datei woraus ich die einzelne parameter zu einem report parse. habe ich soweit auch alles fertig, klappt auch abestens nur einzig und allein der ping hört direkt nach dem ersten response auf. sieht vom flow her so aus:
linux host > report script | logfile > cisco router (andere commands OK // dann ping) > ping an rechenzentrum > ping zurück | logfile ( ! als ping erfolgreich // . als nicht erreichbar ) script bricht direkt nach dem ersten char ! oder . ab
das unabhängig davon ob ich ping in der reihenfolge zuerst ausführe, dazwischen oder am ende... ( ._.)>

gibt es eine möglichkeit das heredoc etwas zäher zu gestallten, zbsp. timeout hochsetzen oder ähnliches?

Antworten