BEARBEITEN:

BEARBEITEN:

Auf der Maschine AI haben Sie den Ordner

/home/a/

Auf dem Rechner BI befindet sich der Ordner

/home/b/

Ich möchte alle Dateien, Verzeichnisse und Unterverzeichnisse von /home/a nach /home/b mit SFTP übertragen. Auf dem Computer AI habe ich die folgenden Befehle ausprobiert:

sftp [email protected]
put /home/a/* /home/b/

aber es funktioniert nicht, ich erhalte die Fehlermeldung: „Nicht reguläre Datei /home/a/a1 wird übersprungen“ … [a1 ist ein Unterverzeichnis von a]
Wie kann ich die Put-Anweisung ändern?

Danke! :)

BEARBEITEN:

Ich habe es mit scp gelöst:

scp -r /home/a/ [email protected]:/home/b/

Antwort1

Obwohl es nicht unbedingt mit SFTP identisch ist,rsyncist eine sehr leistungsstarke Alternative zu scp und sftp, insbesondere beim Aktualisieren der Kopien von Maschine A auf Maschine B, da es die Dateien, die nicht geändert wurden, nicht kopiert; es kann auch Dateien von Maschine B entfernen, die von Maschine A gelöscht wurden (natürlich nur auf Anweisung).

In Ihrem Fall wäre die Syntax

rsync -zrp /home/a/ [email protected]:/home/b/

Die -rOption dient zum rekursiven Kopieren von Dateien, -zaktiviert die Komprimierung während der Übertragung und -pbehält die Dateiberechtigungen (Dateierstellung, -bearbeitung usw.) beim Kopieren bei, was scp meines Wissens nach nicht tut. Viele weitere Optionen sind möglich; lesen Sie wie üblich die manSeiten.

Antwort2

Dieser sftpBefehl lädt den Inhalt des aktuellen Verzeichnisses rekursiv in das aktuelle Remote-Verzeichnis hoch:

 put -r .

Sehenman sftp.

Antwort3

scp(Secure Copy) ist die Linux-Standardmethode zum Übertragen von Dateien über einen sicheren Tunnel. In Ihrem Fall sollten Sie den rekursiven Schalter verwenden, z. B.:

scp -r /home/a/ [email protected]:/home/b/

Antwort4

Eigentlich sollte put -r funktionieren. Der Zielordner muss jedoch auf Ihrem Remote-Host vorhanden sein:

sftp> put -r sourcefolder
 Uploading sourcefolder/ to /user/folder
 Couldn't canonicalize: No such file or directory
 ....
sftp> mkdir sourcefolder
sftp> put -r sourcefolder
 Uploading sourcefolder/ to /user/folder/sourcefolder
 Entering sourcefolder/
 sourcefolder/file1
 sourcefolder/file2

verwandte Informationen