Mit dem scp-Befehl können Sie Dateien sicher zwischen Netzwerk-Hosts kopieren. Es verwendet SSH für die Datenübertragung und Authentifizierung. Typische Syntax ist:
scp file1 user@host:/path/to/dest/ scp -r /path/to/source/ user@host:/path/to/dest/
Ich glaube nicht, dass Sie Dateien filtern oder ausschließen können, wenn Sie den scp-Befehl verwenden. Es gibt jedoch einen guten Workaround, die Datei auszuschließen und sie sicher per SSH zu kopieren. Auf dieser Seite wird erläutert, wie Sie Dateien filtern oder ausschließen, wenn Sie ein Verzeichnis rekursiv mit scp kopieren.
Die Syntax lautet:
rsync av -e ssh --exclude='*.out' /path/to/source/ user@hostB:/path/to/dest/
Hier:
In diesem Beispiel kopieren Sie rekursiv alle Dateien aus dem Verzeichnis ~/virt/, schließen aber alle *.new-Dateien aus:
$ rsync -av -e ssh --exclude='*.new' ~/virt/ root@centos7:/tmp
Beispielausgabe:
Scp schließt Dateien aus, verwendet jedoch den Befehl „rsyncexclude“
Wenn rsync auf dem Remote-Server nicht gefunden wird, schlägt der Befehl rsync fehl. Versuchen Sie in diesem Fall, den folgenden scp-Befehl zu verwenden, der den Bash-Shell-Mustervergleich im aktuellen Verzeichnis verwendet (funktioniert nicht mit der Option -r):
$ ls
Beispielausgabe:
centos71.log centos71.qcow2 centos71.qcow2.new centos71.v2.qcow2.new meta-data user-data
Kopieren Sie alles im aktuellen Verzeichnis außer .new:
$ shopt -s extglob $ scp !(*.new) root@centos7:/tmp/
Beispielausgabe:
centos71.log 100 % 4262 1.3MB/s 00:00 centos71.qcow2 100 % 836MB 32.7MB/s 00: 25 meta-data 100 % 47 18.5KB/s 00:00 user-data 100 % 1543 569.7KB/s 00:00
Weitere Informationen finden Sie auf den folgenden Manpages:
$ rsync -av -e ssh --exclude='*.new' ~/virt/ root@centos7:/tmp
Das obige ist der detaillierte Inhalt vonTipps zur SCP-Nutzung: Dateien rekursiv ausschließen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!