なかなか覚えられないもののひとつです
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件のコメント