なかなか覚えられないもののひとつです

rsync コマンドでディレクトリツリーをコピーするとき、ディレクトリそのものがコピーされるのか、ディレクトリの内容がコピーされるのか、迷うことがあります。

どちらの動きになるのかは、コピー元ディレクトリを指定するときに末尾に「/」スラッシュをつけるかどうかで変わります。

スラッシュあり:ディレクトリの中身がコピーされる
スラッシュなし:ディレクトリそのものがコピーされる 

たとえば、サーバAとサーバBで同じようなディレクトリ構成になっていて、ディレクトリ構成を変えずに指定したディレクトリの中身をコピーしたいというケースは多いと思いますが、このようなときはスラッシュをつけます。

rsync -e ssh -av serverA:/var/data/database/ /var/data/database

このようにすると、database の中身がdatabaseの中にコピーされます。

スラッシュをつけずに実行してしまうと、database自身がdatabaseの中にコピーされてしまいます。

rsync -e ssh -av serverA:/var/data/database /var/data/database

このようにすると、database が database の中にコピーされてしまうので、下記のようになります。

/var/data/database/database
カテゴリー: サーバ関連

0件のコメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください