478 Stimmen

Scp oder sftp kopieren mehrerer Dateien mit einem einzigen Befehl

Ich möchte Dateien von/zum Remote-Server in verschiedenen Verzeichnissen kopieren. Zum Beispiel möchte ich diese 4 Befehle gleichzeitig ausführen.

scp remote:A/1.txt local:A/1.txt
scp remote:A/2.txt local:A/2.txt
scp remote:B/1.txt local:B/1.txt
scp remote:C/1.txt local:C/1.txt

Was ist der einfachste Weg, das zu tun?

2voto

user9869932 Punkte 5353

In meinem Fall gab es zu viele Dateien mit nicht verwandten Namen.

Am Ende habe ich folgendes benutzt:

$  for i in $(ssh remote 'ls ~/dir'); do scp remote:~/dir/$i ./$i; done
1.txt                                         100%  322KB   1.2MB/s   00:00
2.txt                                         100%   33KB 460.7KB/s   00:00
3.txt                                         100%   61KB 572.1KB/s   00:00

$

1voto

augusto Punkte 1793

Scp verwendet ssh für die Datenübertragung mit derselben Authentifizierung und bietet dieselbe Sicherheit wie ssh.

Ein bewährte Methode ist es, "SSH-Schlüssel und Public-Key-Authentifizierung" zu implementieren. Mit dieser Methode können Sie Ihre Skripte schreiben, ohne sich um die Authentifizierung sorgen zu müssen. Ganz einfach.

Siehe WAS IST SSH-KEYGEN

0voto

DevWL Punkte 14388
serverHomeDir='/home/somepath/ftp/'
backupDirAbsolutePath=${serverHomeDir}'_sqldump_'
backupDbName1='2021-08-27-03-56-somesite-latin2.sql'
backupDbName2='2021-08-27-03-56-somesite-latin1.sql'
backupDbName3='2021-08-27-03-56-somesite-utf8.sql'
backupDbName4='2021-08-27-03-56-somesite-utf8mb4.sql'

scp -i ~/.ssh/id_rsa.pub user@server.domain.com:${backupDirAbsolutePath}/"{$backupDbName1,$backupDbName2,$backupDbName3,$backupDbName4}" .

. - am Ende werden die Dateien in das aktuelle Verzeichnis heruntergeladen

-i ~/.ssh/id_rsa.pub - vorausgesetzt, Sie haben eine SSH-Verbindung zu Ihrem Server mit einem .pub-Schlüssel hergestellt

0voto

scp -r root@ip-address:/root/dir/ C:\Benutzer\dein-name\Downloads\

das -r ermöglicht es Ihnen, alle Dateien im Verzeichnis dir Ihres entfernten Servers herunterzuladen

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X