リモートからコンテンツをバックアップ rsync

投稿者: | 3月 28, 2021

運用しているサーバーのコンテンツバックアップやサーバー移設時のコンテンツコピーなど、漏れなく確実にファイル同期(バックアップ)するにはrsyncを使用します。

このコンテンツのバックアップと別記事で紹介したMySQLデータベースのリモートコピーを実行することで最低限の手間で、WordpressやMovableTypeの引越ができます。

今回の環境は、source-hostにあるコンテンツを全く同じ状態でtarget-hostにコピーする方法です。

ディレクトリの構成が同じ場合には、rsyncによるファイル同期とデータベースのコピーでサイトのミラーを作成することもできます。

前提条件は次の通りです。

  • source-hostにrsyncがインストールされていること
  • target-hostにrsyncがインストールされていること
  • target-hostからsource-hostにssh接続できること

ファイル同期(rsync)の実行

rsyncを実行するには、次の書式で指定します。


rsync [オプション] 同期元 同期先

よく使用するオプション

rsyncでファイル同期をする場合に、よく使用するオプションは次の通りです。

オプション 内容
-a アーカイブモード。rsyncの色々なオプションでファイル同期の基本となる 「-rlptgoD -no-H -no-A -no-X」オプションを まとめて指定する
-v ログと動作状況を表示
-z データを圧縮して転送
-u 追加・変更されたデータのみコピーする
–delete 同期元にないファイルを同期先から削除する
–exclude ファイル同期から除外したいデータを指定する

初回の同期

今回は target-hostからsource-hostの特定ディレクトリをファイル同期します。
最初のファイル同期では、以下のコマンドを実行します。


rsync -avz source-host:/var/www/html/ /var/www/html/

同じディレクトリ構成でファイル同期することが目的ですので、ディレクトリの指定で最後の「/」を忘れないように注意が必要です。

2回目以降の同期

最初に全てのファイルを同期したら2回目以降は -u と –delete をつけて更新されたデータの同期と削除されたファイルを同期先で削除することができます。


rsync -avzu --delete source-host:/var/www/html/ /var/www/html/