バックアップ · 1 min read · Sep 16, 2025

Linuxサーバーでのバックアップと復元のためのRsnapshotの使用方法

rsnapshotはLinuxベースのマシン用のバックアップユーティリティです。ほとんどのLinuxディストリビューションで利用可能で、パッケージマネージャを通じて簡単にインストールできます。rsnapshotはPerlで書かれており、依存関係はありません。また、ローカルおよびリモートバックアップをサポートしています。

rsnapshotを使用すると、ローカルディレクトリをバックアップできます。リモートバックアップについては、rsnapshotは’ssh’と’rsync’を利用します。

このチュートリアルでは、LinuxサーバーでRsnapshotを使用してバックアップと復元を行う方法を学びます。ローカルバックアップとリモートバックアップのためにrsnapshotを設定します。また、rsnapshotとcronを使用して自動バックアップを設定する方法も学びます。

前提条件

このガイドを完了するには、以下のものを用意してください:

  • Debian、Ubuntu、CentOS、または任意のディストリビューションのLinuxサーバー
  • 管理者権限を持つ非ルートユーザー
  • オプション:リモートバックアップをテストするための追加サーバー

rsnapshotのインストール

rsnapshotはほとんどのLinuxディストリビューションで利用可能なバックアップユーティリティです。各パッケージマネージャを通じてインストールできます。このセクションでは、Debianサーバーにrsnapshotをインストールします。異なるディストリビューションを使用している場合は、現在のパッケージマネージャでインストールしてください。

まず、以下のコマンドでパッケージインデックスを更新します。この例ではDebianを使用しますが、Ubuntu、Linux MintなどのDebianベースのディストリビューションでも使用できます。

sudo apt update

update repo

更新が完了したら、以下のコマンドを実行して’ rsnapshot ‘パッケージをインストールします。インストールを確認するために’ Y ‘を入力してください。

sudo apt install rsnapshot

install rsnapshot

インストールが完了したら、’ rsnapshot ‘バイナリの場所とそのバージョンを確認します。

which rsnapshot  
rsnapshot --version

以下のように、Rsnapshot 1.4が’ /usr/bin/rsnapshot ‘にインストールされていることがわかります。

check rsnapshot

SSHキー認証の設定

リモートバックアップを行う際には、rsnapshotサーバーがSSHキー認証を使用してターゲットサーバーにログインできることを確認する必要があります。リモートバックアップのためには、以下のものが必要です:

  • ターゲットサーバーにログインするために使用されるユーザー
  • SSHキー認証が有効になっていること

このセクションでは、rsnapshotサーバーでSSHキーを生成し、ユーザー’ alice ‘を使用して’ 192.168.10.41 ‘のターゲットサーバーにSSH公開鍵をコピーします。

‘rsnapshot’サーバーで、以下の’ ssh-keygen ‘コマンドを使用してSSHの公開鍵と秘密鍵を生成します。キーの場所とパスワードを尋ねられたら’ENTER’を押してください。

ssh-keygen -t ed25519

generate ssh key

次に、以下の’ ssh-copy-id ‘コマンドを実行して、SSH公開鍵をターゲットサーバーにアップロードします。この例では、ユーザー’ alice ‘を使用して、SSHキー認証で’ 192.168.10.41 ‘からリモートバックアップを行います。

ssh-copy-id [email protected]

プロンプトが表示されたらパスワードを入力します。

ssh up-load key

SSH公開鍵がアップロードされると、Rsnapshotの設定が準備完了です。

rsnapshotの設定

このセクションでは、ローカルおよびリモートバックアップのためにrsnapshotを設定します。デフォルトの設定ファイル’ /etc/rsnapshot.conf ‘を変更し、デフォルトのバックアップディレクトリを設定し、SSHおよびRsyncとの統合を有効にし、バックアップの間隔を設定し、ローカルおよびリモートバックアップを構成します。

rsnapshotのデフォルト設定’ /etc/rsnapshot.conf ‘をコピーし、’ nano ‘または’ vim ‘エディタでファイルを変更します。

sudo cp /etc/rsnapshot.conf /etc/rsnapshot.conf.orig  
sudo nano /etc/rsnapshot.conf

デフォルトの’ snapshot_root ‘を新しいディレクトリに変更します。このディレクトリはバックアップデータを保存するために使用されます。

snapshot_root /data/backup/

リモートバックアップをSSH経由でrsyncを使用して有効にするために、’ cmd_rsync ‘および’ cmd_ssh ‘オプションのコメントを外します。

cmd_rsync /usr/bin/rsync  
cmd_ssh /usr/bin/ssh

デフォルトのバックアップレベルや間隔を以下のように変更します。名前はオプションであり、必要に応じて変更できます。この例では、’ daily 6 ‘が’ daily.0 ‘から’ daily.5 ‘までのバックアップディレクトリを作成します。

注意: スペースの代わりにTABを使用してください。そうしないとエラーが発生します。

retain daily 6  
retain weekly 7  
retain monthly 4

logfile ‘オプションのコメントを外して、rsnapshotのログをファイルに記録します。

logfile /var/log/rsnapshot.log

カスタムSSHポートでリモートサーバーを実行している場合は、’ ssh_args ‘オプションのコメントを外し、ポートを変更します。

ssh_args -p 22

ローカルバックアップのために、以下のような設定を使用します。この例では、ローカルディレクトリ’ /home/arvd ‘を’ local ‘にバックアップします。宛先パスは相対パスである必要があり、これは’ /srv/backup/name-interval/local ‘に等しいです。

backup /home/arvdl/ local

SSHおよびrsyncを介したリモートバックアップのために、以下のような設定を使用します。この例では、リモートサーバー’ 192.168.10.41 ‘からユーザー’ alice ‘を使用して’ /etc ‘および’ /var/www ‘ディレクトリをバックアップし、’ server1 ‘相対パスディレクトリに保存します。

backup [email protected]:/etc/ server1  
backup [email protected]:/var/www server1

完了したら、ファイルを保存して終了します。

rsnapshotを設定したら、以下のコマンドでrsnapshotの設定を確認し、テストします。正しい設定が行われていれば、出力に’ Syntax OK ‘と表示されます。

rsnapshot configtest

rsnapshotバックアップの手動テスト

rsnapshotを設定したので、手動でバックアップを行い、バックアップディレクトリとrsnapshotログファイルを確認してバックアップを検証します。

バックアップを手動でテストするには、以下の’rsnapshot’コマンドを実行します。’ daily ‘をバックアップ名に変更してください。

rsnapshot daily

プロセスが完了したら、以下のコマンドでバックアップディレクトリ’ /srv/backup ‘を確認します。ローカルおよびリモートサーバーからのバックアップファイルを含む新しいバックアップディレクトリ’ daily.0 ‘が表示されます。

ls /srv/backup/

次に、以下のコマンドを実行してrsnapshotによるディスク使用量を確認します。

rsnapshot du

以下の出力では、rsnapshotバックアップの総ディスク使用量が5MBであることがわかります。

rsnapshot du

最後に、バックアッププロセスを確認するためにバックアップログファイル’ /var/log/rsnapshot.log ‘を確認します。

cat /var/log/rsnapshot.log

以下の内容は、バックアップが成功したことを示していますが、’ /etc/shadow ‘ファイルのバックアップ時に権限拒否の警告がいくつか表示されています。

log file

Cronによる自動バックアップ

自動バックアップのために、rsnapshotをcronと統合できます。たとえば、’ daily ‘、’ weekly ‘、および’ monthly ‘の自動バックアップのためにcronを設定します。

/etc/cron.d/rsnapshot ‘ファイルを’nano’エディタで開きます。このファイルはrsnapshotによって生成された例です。

sudo nano /etc/cron.d/rsnapshot

以下の設定を入力して、rsnapshotを介して自動バックアップを行います。この例では、’ daily ‘バックアップが毎日実行され、’ weekly ‘および’ monthly ‘もそれぞれの時間内に実行されます。

0 0 * * * root rsnapshot daily  
0 0 * * 0 root rsnapshot weekly  
0 0 1 * * root rsnapshot monthly

ファイルを保存してエディタを終了します。

これで、自動バックアップがcronを介して実行されます。

rsnapshotバックアップの復元

rsnapshotバックアップを復元するには、バックアップディレクトリから宛先にデータをコピーするだけです。この例では、バックアップディレクトリ’/srv/backup’からデータをコピーできます。

結論

おめでとうございます!rsnapshotのインストールとローカルおよびリモートバックアップのためのrsnapshotの設定に関するチュートリアルを完了しました。また、基本的な’rsnapshot’コマンドも学びました。最後に、rsnapshotとcronを使用して自動バックアップを設定する方法も学びました。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。