【ファイル同期に便利】rsyncのオプションと使い方

本日は、いろんなバックアップ方式が取れて便利なコマンド”rsync”についてわかったことを共有しようと思います。

 

rsyncとは

rsyncとは、ファイルやディレクトリを同期(コピー)する際に使用するコマンドです。主にデータのバックアップミラーリング(複製)に用います。

rsyncのメリット

rsyncのメリット、そしてデメリットを簡単に…

まずメリットですが、バックアップやミラーリングなど様々な管理ができること。さらに増分・差分バックアップ、世代管理などもできてしまう優れものです。

rsyncのデメリット

デメリットはほぼないのですが、強いて言うならroot権限で行わないと権限の問題で不具合が出る場合があります。

rsyncのオプション

rsyncのオプションは、様々なサイトで細かく説明されているのでここではあえて割愛させていただきますが、便利なもの(よく使うもの)だけ紹介させてもらいます。

-a(–archive)…アーカイブモード(指定したディレクトリ配下全てが対象)
-h(–human-readable)…ファイルサイズを読みやすい単位で表示する
-v(–verbose)…転送情報の詳細を表示する
-z(–compress)…データ転送時に圧縮
–delete…同期元に存在しなくなったファイルは削除
–log-file…ログ出力先を指定する。使用例: –log-file=/var/log/rsync
–bwlimit…帯域制限をかける(単位はkByte/s)

使い方

rsyncコマンドはこんな感じで使います↓

rsync [オプション]  [同期を行う対象ディレクトリ] [保存先ディレクトリ]

使い方の例をいくつか紹介します。

フルバックアップ

フルバックを行う際は、こんな感じのコマンドで↓

rsync -ahvz root@192.168.1.11:/testdir/ /testdir/
rsync -ahvz /testdir/ /testdir1/
上のコマンドでは、リモートサーバの/testdir/配下ローカルの/testdir/に全てのファイルを同期しています。
ただ、1つ注意点!上のコマンドはリモートサーバのパスワードが聞かれるのでcronを仕込む場合は鍵登録をしてノンパスで同期できるようにする必要があります
下のコマンドは、ローカルの/testdir/配下の全てのファイル・ディレクトリを/testdir1/に同期しています。

ミラーリング

rsync -ahvz –delete root@192.168.1.11:/testdir/ /testdir/
上のコマンドでは–deleteが追加されています。これをつけることで同期先でファイルが消された場合(2回目以降の同期)は保存先でも削除されます
ミラーリングは、リポジトリのミラーを作成したりする際に使用します。

最後に

本日はrsyncの使用例を共有させてもらいました。今回の記事では言及できなかった、帯域制限がきちんとかかっているかの検証は別記事にて作成しようと思います。

 

では〜〜〜

コメント

  1. […] 【ファイル同期に便利】rsyncのオプションと使い方本日は、いろんなバックアップ方式が取れて便利なコマンド"rsync"についてわかったことを共有しようと思います。 rsyncとは rsync […]