scp nur Dateien mit definierter Erweiterung


8

Ich möchte nur Dateien mit speziellen Erweiterungen (wie nur * .tar.gz, * .war) in einem scp-Befehl (Debian Linux) übertragen. Ist das möglich, wenn ja, wie ist die Syntax?

Sollte etwas sein wie:

scp 192.168.1.2:/srv/myfiles/'*.tar.gz *.war' .

Das funktioniert aber nicht.

Antworten:


11

Das ist absolut möglich

scp 192.168.1.2:/srv/myfiles/\{*.tar.gz,*.war\} .

Dies funktioniert, aber es wird zweimal nach diesem Passwort gefragt.
Markus

Ah ja, ich benutze Schlüssel, also werde ich überhaupt nicht dazu aufgefordert. Die oben geänderte Antwort sollte nur einmal nach dem Passwort fragen.
GeoSword

1
$ ssh 33 ls \{\*.log,\*.py\}
engine.log
install.log
parser_lex.py


$ scp 33:\{\*.log,\*.py\} /tmp/
engine.log                                                                                                                   100%   45     0.0KB/s   00:00    
install.log                                                                                                                  100%   18KB  18.0KB/s   00:00    
parser_lex.py                                                                                                                100% 2600     2.5KB/s   00:00  

Sie können auch ssh und tar verwenden ...
jirib

PS: Sie können lernen, wie es funktioniert, während Sie einen ForceCommand auf einem Remote-Host erstellen und überprüfen, was in der Umgebungsvariablen SSH_ORIGINAL_COMMAND enthalten ist :) Siehe blogs.oracle.com/janp/entry/how_the_scp_protocol_works
jirib
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.