scpコマンドでgitを除く方法

はじめに



超久々投稿。このブログが存在したことを忘れていました。

対象読者



サーバーにファイルをアップロードする人
コマンド操作が行える人

結論


SCP でなく RSYNC を使う

例えば

awsサーバーにローカルからGit管理しているディレクトリをアップロードする場合

rsync -rv -e 'ssh -i [SSHの秘密鍵 (***.pem)]' --exclude '**/.git' --exclude '**/.DS_Store' html ec2-user@ec2-12-345-678-90.compute-1.amazonaws.com:/var/www

説明

-r

recursive オプションです。ディレクトリごとコピーする際に指定します。

-v

verbose オプション です。 詳細情報を表示します。

-i

リモートシェルを指定するオプション。 
自分は、'ssh -i [SSHの秘密鍵 (***.pem)]'を指定しています。

–exclude

除外するファイルを指定します。 
gitを除外したい場合は、 '**/.git'
DS_Storeを除外したい場合は、'**/.DS_Store'を指定します。

最後に

いかがだったでしょうか。
自分はよく使うので .shファイルで保存して、terminalから「./upload.sh」で呼び出しています。


コメント