Ich bin ein Anfänger in der Entwicklung von scripts.I 4 Aufgaben in einem Skript zu tun: 1. Schließen Sie an der Maschine 1 durch ssh 2.Retrieve die Daten und es in einer CSV-Datei setzen 3 .send die CSV in ein Verzeichnis 4.Connect zu Maschine 2 durch ssh-Datei und tun Schritt 2 und 3Script mit Bedingung
Fisrt Test:
#!/bin/bash
#Settings
DATE=$(date +%Y_%m_%d)
DATE1=$(date +%d/%m/%Y)
HIER=$(date -d '1 day ago' "+%Y-%m-%d")
HEURE=$(date +"%T")
#Ip adress of the machine
machine1= IP1
machine2= IP2
#Connexion SSH OLT1
ssh [email protected]
#Command for geting data on machine
enable
config
display XXXX > IP1.csv
#exit connection
exit
ich habe keine Folge, so denke ich mache ich eine Schleife zum Ausführen der Aufgabe für die 2 Maschinen?
Dank
Ich versuche erwarten tu verwenden, weil ich durch die Verwendung von SSH und Shell-Skript-RSA-Schlüssel Problem finden
#spawn ssh $host -l $user
expect "login:"
send "root\r"
expect "passe:"
send "test\r"
expect -re $prompt
send "terminal length 0\r"
expect -re $prompt
send "enable\r"
expect -re $prompt
send "config\r"
expect -re $prompt
send "display .....\r"
expect -re "\r\nend\r\n"
send "exit\r"
Ich weiß nicht, wie ich auf CSV-Datei das Ergebnis setzen können ein Verzeichnis? Außerdem kann ich setzte die IP auf #spawn diese Aufgabe auf zwei Maschinen durchgeführt werden sollte davon ausgehen,
Dank für Ihr Feedback
ich Ihre Probe versuchen thisaccording aber die ouput Datei ist leer: #/usr/bin/erwarten
spawn ssh X.X.X.X -l root
expect "User password:"
send "admin\n"
expect -re "device>"
send "enable\r"
expect -re "device#"
send "config\r"
expect -re "device(config)#"
send "display .......\r"
expect -re "{ <cr>||<K> }:"
send "\r"
set date [timestamp -format %C%y%m%d]
log_file -noappend /home/device/CSTtest.csv
Es gibt ein größeres Problem. 'enable' wird nicht ausgeführt, bis' ssh' beendet wurde. Da dies geschrieben ist, ist es etwas, das * nach * 'ssh' läuft, nicht etwas *, das an *' ssh' gesendet wird. –
btw, 'machine1 = IP1' führt einen Befehl namens' IP1' mit der Umgebungsvariable 'machine1' auf einen leeren Wert; es ist * keine * Zuweisung, aufgrund des Platzes. Dies ist ein Problem, das http://shellcheck.net/ automatisch für Sie identifizieren würde. –
Googeln 'site: stackoverflow.com Skript cisco ios bash ssh' könnte der beste Ort sein, um hier anzufangen. –