Durchführen von SFTP-Verfahren für Bash-Skripts zum Remote-Server und Herunterladen von Dateien, anschließendes Wechseln in das richtige Verzeichnis auf dem lokalen Computer

Durchführen von SFTP-Verfahren für Bash-Skripts zum Remote-Server und Herunterladen von Dateien, anschließendes Wechseln in das richtige Verzeichnis auf dem lokalen Computer

Ich habe einen Cron auf meinem Ubuntu-Server, der dieses Bash-Skript täglich ausführt:

#!/usr/bin/expect -f
spawn sftp user@ip
expect "password:"
send "password\n"
expect "sftp>"
send "cd remote_directory\n"
expect "sftp>"
send "lcd ~/dtc/data/outstanding\n"
expect "sftp>"
send "mget * \n"
expect "sftp>"
send "exit\n"
interact

Es stellt über SFTP eine Verbindung zu einem Remote-Server her und lädt eine Reihe von Dateien herunter. Das funktioniert problemlos, ich möchte jedoch, dass diese Dateien in einem bestimmten Verzeichnis auf dem Computer (meinem Server) angezeigt werden, auf dem dieses Skript ausgeführt wird.

Dies ist, was ich in Zeile 8 vergeblich versuche. Wie kann ich dieses Skript über Cron ausführen und sicherstellen, dass es in das richtige Verzeichnis auf meinem Server wechselt, damit es die heruntergeladenen Dateien im richtigen Verzeichnis ablegt?

Antwort1

Die einfachste Lösung besteht darin, in das Verzeichnis zu gehen, in dem Sie die Dateien speichern möchten, und dann das Expect-Skript auszuführen und dabei den Befehl aus dem Skript in Zeile 8 cdwegzulassen .lcd

verwandte Informationen