Table of Contents
scp
でファイルをサーバにコピーしようとしたときに、 ある特定のディレクトリ(キャッシュなど)を除外してコピーしようと思った時にやった方法です。 AWS EC2 に対して行いました。 ひとつの git リポジトリ にサーバサイドのコードを全部まとめて入れているので、 部分的にサーバにコピーしたかったんです。
コマンド
説明
上のコマンドでは、 あるディレクトリを除外してリモートマシンにコピーします。 こうすると、 リモートマシンに /home/ec2-user/app
ディレクトリ が作成され、 そこに中身がコピーされます。
以下がオプション等の簡単な説明です。
rsync
リモートシェルというのを使ってリモートマシンにアクセスするコマンドです。 基本的に ssh
を使うそうです。
-r
recursive オプション です。 再帰的に処理をするので、 ディレクトリごとコピーできます。
-v
よくある verbose オプション です。 詳細情報を表示します。
-e
リモートシェルを指定するオプションです。 ここでは ssh -i ~/sshkeys/key.pem
を利用して秘密鍵でアクセスしています。
–exclude
除外するファイルを指定します。 ここでは3つのパターンを指定しています。
単純な場合のコマンド
ディレクトリごとコピーするだけなら scp
で次のようにできます。