scp ist die Abkürzung für secure copy
, einem sicheren Remote-Dateikopierbefehl, der auf der SSH-Anmeldung unter einem Linux-System basiert. scp ist verschlüsselt, rcp ist unverschlüsselt, scp ist eine erweiterte Version von rcp. secure copy
的简写, 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。
因为scp传输是加密的,可能会稍微影响一下速度。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就远远不及它了。虽然 rsync比scp会快一点,但当小文件众多的情况下,rsync会导致硬盘I/O非常高,而scp基本不影响系统正常使用。
场景:假设我现在有两台服务器(这里的公网ip和内网ip相互传都可以,当然用内网ip相互传比较快,**公网ip不便公布)
Sessions1: 47.95.208.2** 内网:172.17.31.174 User:root Sessions2: 47.94.92.2** 内网:172.17.31.173 User:root
这里常用的两种办法:
现在我们登录172.17.31.173这台服务器,想把当前的 test.mysql
传给别人( 172.17.31.174
这台服务器)
hostname -i
Szenario: Angenommen, ich habe jetzt zwei Server (die öffentliche IP und die Intranet-IP können hier aufeinander übertragen werden. Natürlich ist es schneller, die Intranet-IP für die gegenseitige Übertragung zu verwenden. **Die öffentliche IP ist unpraktisch zu veröffentlichen )
scp test.sql root@172.17.31.174:/data/
Hier häufig verwendet Zwei Methoden:
1. Beim Übertragen von Dateien von einem Remote-Server auf einen anderen Server (Sie möchten Dateien auf andere übertragen)Jetzt melden wir uns beim Server 172.17.31.173 an und möchten die verwenden aktuelletest.mysql
Geben Sie es an andere weiter (172.17.31.174
diesen Server)hostname -i
Sie können die aktuelle IP überprüfen Befehl:
-1: 强制scp命令使用协议ssh2 -2: 强制scp命令使用协议ssh3 -4: 强制scp命令只使用IPv4寻址 -6: 强制scp命令只使用IPv6寻址 -B: 使用批处理模式(传输过程中不询问传输口令或短语) -C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能) -p: 保留原文件的修改时间,访问时间和访问权限。 -q: 不显示传输进度条。 -r: 递归复制整个目录。 -v: 详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。 -c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。 -F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。 -i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。 -l limit: 限定用户所能使用的带宽,以Kbit/s为单位。 -o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式, -P port: 注意是大写的P, port是指定数据传输用到的端口号 -S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。
Wenn die beiden Server nicht mit passwortfreiem Login konfiguriert sind, müssen Sie ein Passwort eingeben.
Ich verwende hier die Intranet-IP, daher ist die Übertragung schneller. Wenn Sie das öffentliche Netzwerk verwenden, wird es viel langsamer (persönlicher Test)
Die Übertragung ist abgeschlossen!
Anhang:
scp [optionale Parameter] file_source file_target
Häufig verwendet -r, -C
scp -r root@172.17.31.173:/data/local_test /data/
2. Auf dem lokalen Server, von einem anderen. Dateien abrufen vom Server (Sie möchten Dateien von anderen erhalten)
Erstellen Sie einen neuen local_test im 173-Dienstdatenverzeichnis, um den Ordner zu testen (zum Testen des Parameters -r)Gehen Sie dann zum lokalen Server (*174 dieses Taiwan), der lokale Server hier ist relativ.
Befehl:
scp root@远程的服务器Ip:文件路径 存放路径
scp test.sql root@172.17.31.174:/data/
scp -r root@172.17.31.173:/data/local_test /data/
Das obige ist der detaillierte Inhalt vonSo übertragen Sie Dateien direkt zwischen zwei Servern unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!