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.

Markus
quelle

Antworten:

11

Das ist absolut möglich

scp 192.168.1.2:/srv/myfiles/\{*.tar.gz,*.war\} .
GeoSword
quelle
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  
Jirib
quelle
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