Hallo,
Tobias Schlemmer wrote:
Alexander Kühnlein schrieb:
ich verbinde mich über eine doppelte SSH-Verbindug zu einem Server mit MySQL-Datenbank:
ssh -t server1 ssh -t server2 mysqldump dbname
Warum Arbeitest du nicht einfach mit Portforwarding? So könntest du auf dem Remotrechner deinen lokalen mounten und das Image dahinspielen oder umgekehrt mysqldump auf dem lokalen Rechner durchführen.
Das habe ich gemacht, solange ich direkten Zugriff auf den SSH-Port der Maschine hatte. Das doppelte Portforwarding ist ne nervige Sache. Erst recht, wenn man das aus einem Skript heraus machen möchte. Da habe ich nämlich keine Rückmeldung, wann die zweite Verbindung aufgebaut ist.
Hier bietet sich das Portforward an.
Nicht wirklich.
Doch :-)
# Verbindung zu server1 aufbauen und in Hintergrund gehen, # wenn Verbindung steht ssh -f -L 1222:server2:22 server1 sleep 300 # Verbindung zu server2 aufbauen und in Hintergrund gehen, # wenn Verbindung steht ## ggf Option NoHostAuthenticationForLocalhost verwenden ## oder besser mittels eigenem Config- und Knownhosts-File ## den für server2 korrekten Schlüssel für localhost eintragen ## und prüfen... ssh -f -p 1222 -L 13306:server2:3306 localhost sleep 300 # Verbindung steht jetzt: mysqldump starten mysqldump -other-options -P 13306 -h localhost DBname ## Wenn der dump länger als 300 Sekunden dauert, fällt die ssh ## auch erst zu, wenn sie zufallen soll...
ggf interessant: man ssh und dann suche nach -f :-)
Ciao, Thomas