Maison > Opération et maintenance > exploitation et maintenance Linux > Comment transférer des fichiers directement entre deux serveurs sous Linux

Comment transférer des fichiers directement entre deux serveurs sous Linux

王林
Libérer: 2023-05-14 09:46:05
avant
7877 Les gens l'ont consulté

scp est l'abréviation de secure copy, qui est une commande sécurisée de copie de fichiers à distance basée sur la connexion ssh sous le système Linux. scp est chiffré, rcp n'est pas chiffré, scp est une version améliorée de 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
Copier après la connexion

这里常用的两种办法:

1.当从一个远程服务器传输文件到另一个服务器上(你想传给别人文件)

现在我们登录172.17.31.173这台服务器,想把当前的 test.mysql 传给别人( 172.17.31.174 这台服务器)

hostname -i

La transmission scp étant cryptée, cela peut légèrement affecter la vitesse. De plus, scp n'occupe pas de ressources et n'augmente pas beaucoup la charge du système. À ce stade, rsync est loin derrière. Bien que rsync soit plus rapide que scp, lorsqu'il y a de nombreux petits fichiers, rsync provoquera des E/S sur le disque dur très élevées, tandis que scp n'affecte fondamentalement pas l'utilisation normale du système.

Comment transférer des fichiers directement entre deux serveurs sous Linux Scénario : Supposons que j'aie maintenant deux serveurs (l'IP du réseau public et l'IP de l'intranet ici peuvent être transmises l'une à l'autre. Bien sûr, il est plus rapide d'utiliser l'IP de l'intranet pour se transmettre. * *L'adresse IP du réseau public n'est pas pratique à publier)

scp test.sql root@172.17.31.174:/data/
Copier après la connexion
Copier après la connexion

Deux méthodes couramment utilisées ici : Comment transférer des fichiers directement entre deux serveurs sous Linux

1. Lors du transfert de fichiers d'un serveur distant à un autre (vous souhaitez transférer des fichiers. aux autres)

Maintenant, nous nous connectons au serveur 172.17.31.173 et souhaitons transmettre le test.mysql actuel à d'autres (172.17.31.174 ce serveur)

hostname -i Vous pouvez voir l'adresse IP actuelle

Comment transférer des fichiers directement entre deux serveurs sous Linux

#🎜🎜 #

Commande :

-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)的选项。
Copier après la connexion

Si les deux serveurs ne sont pas configurés pour une connexion sans mot de passe, vous devez saisir un mot de passe.

Comment transférer des fichiers directement entre deux serveurs sous Linux

J'utilise ici l'IP intranet, donc le transfert est plus rapide si vous utilisez le réseau public, il sera beaucoup plus lent (test personnel)#. 🎜🎜#

Transfert terminé !

Vérifiez sur le serveur avec le suffixe IP 174 :

Annexe :

Comment transférer des fichiers directement entre deux serveurs sous Linuxscp [ Facultatif paramètres] file_source file_target

Couramment utilisé -r,-C

scp -r root@172.17.31.173:/data/local_test /data/
Copier après la connexion
Copier après la connexion

2 Sur le serveur local, récupérez le fichier d'un autre serveur (vous souhaitez obtenir le fichier de quelqu'un d'autre. )

Créez un nouveau local_test dans le répertoire de données du service 173 pour tester le dossier (pour tester le paramètre -r)Comment transférer des fichiers directement entre deux serveurs sous Linux

#🎜🎜 #Ensuite Allez sur le serveur local (*174 celui-ci), le serveur local ici est relatif.

Commande :

scp root@远程的服务器Ip:文件路径 存放路径
Copier après la connexion

Pour copier le dossier, vous devez ajouter -r

#🎜🎜 après scp #Description vernaculaire :

scp test.sql root@172.17.31.174:/data/
Copier après la connexion
Copier après la connexion

Copier sur le serveur distant vers le serveur local (connectez-vous au serveur distant pour transférer des fichiers à d'autres (local))

Commande : # 🎜🎜#
scp -r root@172.17.31.173:/data/local_test /data/
Copier après la connexion
Copier après la connexion

A besoin de l'adresse IP (locale) de quelqu'un d'autre pour transmettre

#🎜🎜#Connectez-vous au serveur local et récupérez le fichier du serveur distant (prenez l'initiative d'obtenir le fichier des autres ) #🎜🎜##🎜🎜#Commande : #🎜🎜#rrreee#🎜🎜#Besoin de l'adresse IP distante (d'autres personnes) pour obtenir des fichiers#🎜🎜#

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal