Kopieren von Dateien mit bestimmten Erweiterungen mit scp


19

Ich möchte kopieren .jpgund .pngDateien mit scp, aber es gibt Dateien mit unterschiedlichen Erweiterungen im selben Ordner, aus dem ich kopiere . Ich mache folgendes:

scp user@someRemoteHost.com:/folder/*.{jpg,png} .

Ich werde gebeten, mein Passwort für jeden Nebenstellentyp einzugeben. Gibt es eine Möglichkeit, dies so zu tun, dass ich mein Passwort nur einmal eingebe?

Antworten:


31

Ersetzen Sie es einfach durch:

scp user@someRemoteHost.com:'/folder/*.{jpg,png}' .

Bitte beachten Sie die einfachen Anführungszeichen. In Ihrem Fall wertet Ihre lokale Shell den Ausdruck aus und verwandelt ihn in:

scp user@someRemoteHost.com:/folder/*.jpg user@someRemoteHost.com:/folder/*.png .

daher die beiden Passwörter gefragt. In dieser Lösung schützt das einfache Anführungszeichenpaar den Ausdruck vor der Auswertung durch die lokale Shell. Es ist also die entfernte Shell, die von (der entfernten) scp aufgerufen wird, die den Ausdruck auswertet.


Wie kann ich alle Unterverzeichnisse dieses Verzeichnisses einschließen?
xxx ---

@ pushpen.paul Wenn Sie nicht nur PNG- und JPG-Dateien auswählen müssen, sondern alles kopieren möchten, scp -r user@someRemoteHost.com:'/folder' . sollten Sie dies beispielsweise mit tun. Wenn Sie in diesen Unterverzeichnissen weiterhin nur png und jpg kopieren möchten, können Sie wahrscheinlich weder scp noch sftp verwenden (es sei denn, Sie verwenden sftp / lftp mit einem möglichen benutzerdefinierten Skript), sondern müssen stattdessen etwas wie ssh + ein Paar tar ausführen. Sie müssten dann Ihre eigene Frage mit den spezifischen Bedürfnissen stellen.
AB

7

Besser rsync zum Kopieren von Operationen zwischen Servern verwenden.

 rsync -avzh user@remoteip:/path/*.jpg user@192.168.159.155:/path/*.png localserverpath

Mit rsync wird nur einmal nach dem Passwort gefragt.

Auch in rsync wird beim Übertragen der Datei geprüft, ob die Datei existiert oder nicht und ob der Inhalt am Quell- und Zielspeicherort gleich ist oder nicht.

Wenn die Datei auch im Zielverzeichnis vorhanden ist und der Inhalt auch derselbe ist, wird diese Datei nicht kopiert. Es werden nur die Dateien kopiert, die nicht am Zielspeicherort vorhanden sind, wodurch die Verarbeitungszeit verkürzt wird.

rsync wird häufig als inkrementelles Sicherungswerkzeug verwendet.


8
Egal ob verwendet rsyncoder scp, der Punkt ist, dass /folder/*.{jpg,png}zitieren sollte '/folder/*.{jpg,png}' .
16.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.