Linux で 2 つのサーバー間でファイルを直接転送する方法

王林
リリース: 2023-05-14 09:46:05
転載
7814 人が閲覧しました

scp は secure copy の略称で、Linux システムでの ssh ログインに基づく安全なリモート ファイル コピー コマンドです。 scp は暗号化され、rcp は暗号化されません。scp は rcp の拡張バージョンです。

scp 送信は暗号化されているため、速度に若干の影響が出る可能性があります。さらに、scp はリソースを占有せず、システム負荷もあまり増加させないため、この点で rsync ははるかに優れています。 rsync は scp よりも高速ですが、小さなファイルが多数ある場合、rsync は非常に高いハードディスク I/O を引き起こしますが、scp は基本的にシステムの通常の使用には影響しません。

シナリオ: 現在 2 つのサーバーがあるとします (ここでのパブリック ネットワーク 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
ログイン後にコピー

ここで一般的に使用される 2 つの方法:

1. あるリモート サーバーから別のリモート サーバーにファイルを転送する場合 (他のサーバーにファイルを転送したい場合)

今度は 172.17 .31.173 にログインします。このサーバーは現在の test.mysql を他のサーバー (172.17.31.174 このサーバー)

# に渡したいと考えています。 #hostname -i 現在の ip

Linux で 2 つのサーバー間でファイルを直接転送する方法

Linux で 2 つのサーバー間でファイルを直接転送する方法

コマンド:

scp test.sql root@172.17.31.174:/data/
ログイン後にコピー
ログイン後にコピー

If 2 つのサーバーを表示できます。パスワード不要のログイン用に直接設定されていないため、パスワードを入力する必要があります。

Linux で 2 つのサーバー間でファイルを直接転送する方法

ここではイントラネット IP を使用しているため、転送は速くなります。パブリック ネットワークを使用すると、はるかに遅くなります (個人テスト)

転送完了!

IP サフィックス 174 のサーバー上で確認してください:

Linux で 2 つのサーバー間でファイルを直接転送する方法

付録:

scp [オプションのパラメータ] file_source file_target

一般的に使用される -r,-C

-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)的选项。
ログイン後にコピー

2. ローカル サーバーで、別のサーバーからファイルを取得します (他のサーバーからファイルを取得したい場合)

173 サービスで新しいファイルを作成しますデータ ディレクトリ local_test は、フォルダーをテストする (-r パラメーターをテストする)

Linux で 2 つのサーバー間でファイルを直接転送する方法

ために使用され、ローカル サーバー (*174 これ) に移動します。相対的なものです。

コマンド:

scp -r root@172.17.31.173:/data/local_test /data/
ログイン後にコピー
ログイン後にコピー

Linux で 2 つのサーバー間でファイルを直接転送する方法

フォルダーをコピーするには、scp の後に -r を追加する必要があります。

言語による説明:

scp root@远程的服务器Ip:文件路径 存放路径
ログイン後にコピー

リモート サーバーからローカル サーバーにコピー (リモート サーバーにログインし、ファイルを他の人 (ローカル) に転送します)

コマンド:

scp test.sql root@172.17.31.174:/data/
ログイン後にコピー
ログイン後にコピー

他の人の (ローカル) IP が必要です転送するアドレス

ローカル サーバーにログインし、リモート サーバーからファイルを取得します (率先して他の人からファイルを取得します)

コマンド:

scp -r root@172.17.31.173:/data/local_test /data/
ログイン後にコピー
ログイン後にコピー
ファイルを取得するにはリモート IP (他人の) アドレスが必要です

以上がLinux で 2 つのサーバー間でファイルを直接転送する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!