GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Verzeichnisse mit sftp hochladen?

Ich weiß nicht, warum sftp das tut, aber Sie können nur rekursiv kopieren, wenn das Zielverzeichnis bereits existiert. Also mach das...

sftp> mkdir bin
sftp> put -r bin

BEHOBEN :Ich habe anfangs fälschlicherweise behauptet, dass OpenSSH put -r nicht unterstützt . Es tut es, aber es tut es auf eine sehr seltsame Weise. Es scheint zu erwarten, dass das Zielverzeichnis bereits existiert, mit demselben Namen wie das Quellverzeichnis.

sftp> put -r source
 Uploading source/ to /home/myself/source
 Couldn't canonicalize: No such file or directory
 etc.
sftp> mkdir source
sftp> put -r source
 Uploading source/ to /home/myself/source
 Entering source/
 source/file1
 source/file2

Besonders seltsam ist, dass dies auch dann gilt, wenn Sie dem Ziel einen anderen Namen geben:

sftp> put -r source dest
 Uploading source/ to /home/myself/dest
 Couldn't canonicalize: ...
sftp> mkdir dest
sftp> put -r source dest
 Uploading source/ to /home/myself/dest/source
 Couldn't canonicalize: ...
sftp> mkdir dest/source
sftp> put -r source dest
 Uploading source/ to /home/myself/dest/source
 Entering source/
 source/file1
 source/file2

Für ein besser implementiertes rekursives put , könnten Sie PuTTY psftp verwenden Befehlszeilentool stattdessen. Es ist in der putty-tools Paket unter Debian (und höchstwahrscheinlich Ubuntu).

Alternativ wird Filezilla tun, was Sie wollen, wenn Sie eine GUI verwenden möchten.


Sie könnten an der Verwendung von rsync interessiert sein stattdessen. Der Befehl dafür wäre

 rsync --delete --rsh=ssh -av bin/ remote-ip-or-fqdn:/home/earlz/blah/bin/

Dadurch wird alles in bin/ kopiert und platzieren Sie es auf dem Remote-Server in /home/earlz/blah/bin/ . Als zusätzlichen Vorteil prüft es zuerst, ob sich die Datei auf der Remote-Seite nicht geändert hat, und wenn dies nicht der Fall ist, wird es sie nicht erneut senden. Zusätzlich können Sie eine -z-Option hinzufügen und es wird es für Sie komprimieren.


Linux
  1. Linux – Suid hat keinen Einfluss auf Verzeichnisse mit Linux?

  2. Wie bringt man Ls dazu, Verzeichnisse mit einem nachgestellten Schrägstrich aufzulisten?

  3. Änderungsdatum in Verzeichnissen/Ordnern mit Rsync beibehalten?

  4. Wie lösche ich Verzeichnisse rekursiv mit Wildcard?

  5. Verzeichnisse in beide Richtungen mit Rsync synchronisieren?

So schließen Sie Dateien und Verzeichnisse mit Rsync aus

So vergleichen Sie Verzeichnisse mit Meld unter Linux

Linux-rmdir-Befehl für Anfänger (mit Beispielen)

Linux-Dateien und -Verzeichnisse mit rsync synchron halten

Lsyncd – Lokale Verzeichnisse mit Remote-Linux synchronisieren

Makefiles mit Quelldateien in verschiedenen Verzeichnissen