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のオプションを付けましょう。
@shiki_lab っ「scp」 http://blog.dacelo.info/linux/entry-102.html