2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

rsyncでリモートのディレクトリと同期とるよ

Posted at

はじめに

Linuc201の勉強しててついにrsyncの話題が。
「そろそろrsyncもちゃんと覚えるか…」と思ったので勉強することにした。

参考サイト

検証環境の作り方から説明してくれたので超親切!

検証用のファイル一式を作成する

検証用のサーバにログインして、
以下のコマンドささっとrsync検証に使うファイルを一式つくっちゃお!

cd ~
mkdir dir1
mkdir dir2
touch dir1/file{001..010}

できた!
image.png

ローカル内のディレクトリ同士で同期とる(dir1→dir2)

同じシステムでdir1の内容をdir2に同期するのは以下のコマンド。

rsync -r dir1/ dir2

-rは再帰的って意味なので、ディレクトリ同期には必須。
…でもいいんだけど、-nもしくは***--dry-run***を入れてあげると試し打ちができる。
かつ、-vを入れると実行結果がわかるので尚よし。

やってみよう

rsync -rnv dir1/ dir2

結果はコチラ。dry-runの結果が出た。で、dry-runなのでdir1からdir2への移動は行われなかった。予想通り。
image.png

-vを入れなかったらどうなるか試してみた。

rsync -rnv dir1/ dir2

プロンプトだけ返しきた、よくわからない。。。
image.png

でも、-nの必要性はわかった。rsyncが失敗したらその結果を返してくれるんだね。ナルホド。
image.png

注意!送信元は末尾に/をつけないとディレクトリごとコピーしちゃう件

↑↑のお手本のコマンドだと、なぜかdir1ではなくdir1/にしていた。
なんでこんなことするのか不思議に思って試してみたらすぐにわかった。
dir1/にすることでdir2の配下にdir1配下のファイルすべてをコピーするらしく
dir1だけだと、dir2の配下にdir1をコピーしちゃうようだ。危ない危ない。。。

image.png

豆知識:-aと-rは違うよって話

やればわかると思ったのでやってみた。
-aは「archive」を表すこのオプションは、再帰的に同期し、シンボリックリンク、スペシャルファイル、デバイスファイル、変更時刻、グループ、所有者、パーミッションを保持する。
-rは単に再帰的にコピーするだけなのでコピー後の権限はumaskに従うっぽい(確認したら0022だったので755でコピーするってこと)

比較結果はコチラ。

-rでrsyncしたとき

image.png

-aでrsyncしたとき

image.png

検証:rsync元のファイルを削除したらその結果をrsync先に反映してくれるかな?

結果:してくれませんでした。。。

image.png

rsync先のファイルを削除したいなら***--delete***を使えばいいそうです。

# dry-runはコッチ
rsync -anv --delete dir1/ dir2
# 実際にやるならコッチ
rsync -av --delete dir1/ dir2

dry-runの結果がこちら

image.png

実際に試した結果がこちら

image.png

リモートサーバへrsyncする

ついにお目当ての手順にたどり着いた
検証用にrsync先のサーバを用意した、

HOST名 IP
転送元 nbfr151v 10.0.0.4
転送先 nbfr152v 10.0.0.5

実行したコマンドはこちら

rsync -a dir1 nabehiro@10.0.0.5:/home/nabehiro/

結果はコチラ。sshで転送しているようなので、sshが使えたらOK。
あと、あらかじめsshdでパスワード認証を許可していたので、いい感じにパスワード聞いてくれてよかった。
image.png

転送先にdir1が無事転送されました!
image.png

↑↑のやり方はnbfr151vからnbfr152vへpushするやり方だったので、
逆にnbfr151vからnbfr152vのデータをpullするやり方はコチラ。

rsync -a nabehiro@10.0.0.5:/home/nabehiro/ /root/dir1

検証のため、nbfr151vに追加でfile006を追加してから実行する
image.png

実行結果がこちら。大成功!
image.png

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?