Linuxサーバー管理入門 - Linuxサーバー管理でPerlを使う

rsyncコマンドでユーザー名、ポート番号、アーカイブオプションを指定して転送する

 rsyncユーザー名ポート番号アーカイブオプションを指定して転送する。rsyncは良く使うのだけれど、いつでもユーザー名、ポート、オプションの指定方法を忘れるので、ここにメモしておきます。

rsync -e "ssh -p 55555" -av local_dir kimoto@192.168.1.1:~/remote_dir

リモートホストの書式

 リモートホストは以下のような書式で書く。

ユーザー名@ホスト名:ディレクトリ

ポート番号の指定

 ポート番号の指定は普通のオプションにはなくて、-eオプションでsshコマンドのオプションとして含める必要があります。

-e "ssh -p ポート番号"

アーカイブオプション

 -aはアーカイブオプションで、ディレクトリをコピーするときは指定するとだいたいうまく再帰的にコピーしてくれます。-vを指定すると、コピーされたファイルが表示されます。

-av

何がどこにコピーされるかの覚え方

 末尾にスラッシュをつけない場合は、ローカルで指定されたディレクトリがリモートで指定されたディレクトリの中に入るということを覚えておきます。つまり転送後は以下のようなディレクトリ構成になっています。

~/remote_dir/local_dir