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 [email protected]:/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?

Natriumnitrat
quelle

Antworten:

31

Ersetzen Sie es einfach durch:

scp [email protected]:'/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 [email protected]:/folder/*.jpg [email protected]:/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.

AB
quelle
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 [email protected]:'/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 [email protected]:/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.

Praveen Kumar BS
quelle
8
Egal ob verwendet rsyncoder scp, der Punkt ist, dass /folder/*.{jpg,png}zitieren sollte '/folder/*.{jpg,png}' .
16.