【Linux】scpコマンドでディレクトリごとコピーする方法

linux-scp-directory
  • URLをコピーしました!

Linuxサーバ間でのディレクトリのコピーには、SCPコマンドを使うことができます。
scpコマンドは、Secure Copy Protocol(セキュアコピープロトコル)を使用して、ファイルやディレクトリを安全にコピーするためのコマンドです。

ここでは、scpコマンドを使ってLinuxサーバ間でディレクトリごとコピーする方法を解説します。

目次

-r オプションでディレクトリを再帰的にコピーする

ディレクトリごと再帰的にコピーする場合は、「-rオプションを指定します。

例えば、Linuxサーバ上の/home/user/dir1ディレクトリを、ローカルPCの/home/user/dir2ディレクトリコピーする場合は、以下のようなコマンドを入力します。

このコマンドを実行すると、Linuxサーバ上の/home/user/dir1ディレクトリが、ローカルPCの/home/user/dir2ディレクトリコピーされます。

Linuxサーバー間(別サーバー)にコピーする

Linuxサーバー間でscpコマンドを使うには、コピー元のサーバとコピー先のサーバの両方SSH接続が必要です。
SSH接続ができていることを確認したら、次のようなコマンドを実行します。

上記のコマンドでは、[source_directory]にはコピー元のディレクトリを、[user]@[host]にはコピー先のサーバのユーザー名とホスト名を、[destination_directory]にはコピー先のディレクトリを指定します。

逆に、リモートホストの/home/user/tmp以下のファイルとディレクトリすべてをローカルの~/tmpコピーする場合は、次のようにします。

以上が、Linuxサーバ間でディレクトリコピーする際にSCPコマンドを使う方法です。
scpコマンドを使うことで、Linuxサーバ間でディレクトリを安全にコピーできるため、データの漏洩などを防ぐことができます。

【おまけ】複数のファイルを一括でコピーする

SCPコマンド複数のファイルを一度にコピーする方法は、次のようになります。

ローカルからリモートに複数のファイルをコピーする場合は、ファイル名をスペースで区切って指定します。

ファイル名に共通のパターンがある場合は、ブレース展開やワイルドカードを使って指定できます。

リモートからローカルに複数のファイルをコピーする場合は、リモート側のファイル名をクォートして指定します。

以上です。
この手の情報はメモしておくと、いつか何かの役に立ちますよね。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次