Rainbow Planet (GT×IT×SP×SA)

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

01_IT技術 (Technology) 01_Linux

scpコマンドを使った異なるLinuxサーバ間のファイル転送の方法

投稿日:2017年7月15日 更新日:

異なるLinuxサーバ間(サーバA⇔サーバB)でファイルを転送する方法について書きます。

(0)目次&概説

(1) 転送コマンドの構文
(2) 転送コマンドの実行
 >(2-1) 転送元の転送前(Before)状態確認
 >(2-2) 転送先の転送前(Before)状態確認
 >(2-3) 転送コマンドの実行
(3) 転送結果の確認
(4) 備考

(1) 転送コマンドの構文

転送には”scp”コマンドを使います。”基本構文”は以下です。

/* ①基本構文 */
scp [(1)転送元ファイル] [(2)転送先サーバのOSユーザ名]@[(3)転送先サーバのホスト名]:[(4)転送先ディレクトリ]

上記(1)(2)(3)(4)について実際の例をご紹介します。以下の例は”tnsnames.ora”ファイルを別サーバに転送した際の各値です。事前に設定を行えば、ディレクトリの指定には環境変数(ORACLE_HOME)なども利用可能です。

/* ②代入値 */
[(1)転送元ファイル] = $ORACLE_HOME/network/admin/tnsnames.ora
[(2)転送先サーバのOSユーザ名] = oracle
[(3)転送先サーバのホスト名] = oracle@tk2-216-17994.vs.sakura.ne.jp
[(4)転送先ディレクトリ] = /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/

“基本構文”に上記(1)(2)(3)(4)の値を代入するとscpコマンドが完成します。scpコマンドの中で環境変数”ORACLE_HOME”を利用しているため、予め”export”コマンドにより環境変数の設定を行います。実際に利用したscpコマンドは(2-3) 転送コマンドの実行」を参照ください。
目次にもどる

(2) 転送コマンドの実行

(2-1) 転送元の転送前(Before)状態確認

コマンドと直接は関係ないですが、転送元サーバのホスト名は以下です。

[(5)転送元サーバのホスト名] = tk2-262-40837.vs.sakura.ne.jp

転送元ファイル(tnsnames.ora)があるディレクトリの状態は下図の通りです。確認の結果、ファイル所有者が”oracle”であるため、scpコマンドを実行する時はファイル所有者のユーザにスイッチする必要がある(今回は”oracle”)ことが分かります。

[(1)転送元ファイル] = /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora

(2-2) 転送先の転送前(Before)状態確認

転送先のディレクトリの状態は下図の通りです。

[(2)転送先サーバのOSユーザ名] = oracle
[(3)転送先サーバのホスト名] = oracle@tk2-216-17994.vs.sakura.ne.jp
[(4)転送先ディレクトリ] = /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/

(2-3) 転送コマンドの実行

転送前(Before)の状態が確認できたので、転送元サーバでscpコマンドを実行し、tnsnames.oraを転送先サーバへ移送します。コマンドは「①基本構文」の変数に「②代入値」を代入した下記の例文を使用しました。また(2-1)で言及した通り、ファイルのパーミッションの関係で”oracle”にスイッチしています。

sudo su oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
scp $ORACLE_HOME/network/admin/tnsnames.ora oracle@tk2-216-17994.vs.sakura.ne.jp:/u01/app/oracle/product/11.2.0/dbhome_1/network/admin/


目次にもどる

(3) 転送結果の確認


転送元
サーバで、ファイル名の右方にある「%」の表示が100に達したら転送完了となります。

転送先サーバにて正常にファイルを受け取ったことを確認します。確認の方法は、転送後に「ls -la」コマンドで転送先のディレクトリを再確認し、差分として転送ファイルが増えている事をチェックします。

目次にもどる

(4) 備考

scpコマンドではマシン間(ローカル/リモート問わず)でファイルをコピーする事が出来ますが、特徴としてはSSHプロトコルを使って通信をする点にあります。
SSHは”Secure Shell”の略で、暗号や認証により安全にリモートコンピュータと通信するためのプロトコルで、やり取りするデータやパスワードを暗号化しています。

目次にもどる

Adsense審査用広告コード


Adsense審査用広告コード


-01_IT技術 (Technology), 01_Linux

執筆者:

関連記事

OracleDBのメディア障害やインスタンス障害からの復旧について

(0)目次&概説 (1) 障害復旧について  (1-1) インスタンス障害  (1-2) メディア障害   (1-2-1) 制御ファイル   (1-2-2) REDOログファイル   (1-2-3) …

最新テクノロジーを使ったデジタルアート!豊洲のチームラボプラネッツのご紹介【体験レポ】

(0)目次&概説 (1) チームラボとは (2) チームラボ プラネッツ  (2-1) 概要  (2-2) 坂の上にある光の滝  (2-3) やわらかいブラックホール  (2-4) The Infin …

JSP/Servletで画面毎のアクセスカウンターを作成してみた(パート1:仕様説明編)

(0)目次&概説 (1) 仕様について  (1-1) アーキテクチャ(アプリ/DB)  (1-2) アプリの仕様概要  (1-3) データベースの仕様概要 (2) ソースコード (3) エラー対応 ( …

OracleDB11g で新規表領域とスキーマの作成

(0) 目次 (1) 表領域の作成 (2) スキーマの作成 (3) スキーマの接続権限を付与 (4) 用語解説 (1) 表領域の作成 表領域とデータベースファイル(dbf)を以下のコマンドで作成します …

Microsoft Azureとは?概要や特徴および利用方法についての解説

(0)目次&概説 (1) Azureとは?  (1-1) IaaSとは?  (1-2) PaaSとは?  (1-3) IDaaSとは? (2) Azureのデータセンター  (2-1) Azureのデ …

Top