scp サーバ間で情報をコピーする

サーバAにある情報をサーバBにコピーする。
サーバやシステムの引っ越しなどで頻出するシチュエーション、Windows脳のままだと、「FTPでサーバAからダウンロードしてきて、サーバBにアップロードだな…」などと考えてしまいがちですが、ちょっとLinuxコマンドを使えば、直接コピーすることが可能です。

コマンド:

scp コピー元ファイル [[ユーザー名@]コピー先ホスト:]コピー先ファイル

例:
serverAにあるファイルexample.tarをserverB(210.123.45.67)にコピーする場合

scp ./example.tar user@210.123.45.67:/home/user/

サーバAにログイン、ファイルがあるディレクトリに移動して、サーバBのユーザー名userで接続しています。
この後、接続が成功するとuser@サーバBのパスワードを聞かれます。

注意点

サーバBのhosts.allowに注意
サーバBの許可ホストに、サーバBのIPが登録されていないと、接続でハネられるので注意。

注意点2

仮想サーバの場合はローカルIPだ!
サーバAとサーバBが仮想サーバで同一の物理サーバに入っているような場合、サーバAのグローバルIPを登録しても、当然のことながら接続できません。

オプション

ウンともスンとも反応がない!
scp -v のオプションを付けて、セリフを表示しましょう。何らかのヒントが見えるかも知れません。
「ファイルではありません」と言われてコピーできない
ディレクトリの場合は、-rのオプションを付けましょう。

広告

About: dacelo


2 thoughts on “scp サーバ間で情報をコピーする”

Leave a Reply

Your email address will not be published. Required fields are marked *