バックアップ · 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
更新が完了したら、以下のコマンドを実行して’ rsnapshot ‘パッケージをインストールします。インストールを確認するために’ Y ‘を入力してください。
sudo apt install rsnapshot
インストールが完了したら、’ rsnapshot ‘バイナリの場所とそのバージョンを確認します。
which rsnapshot
rsnapshot --version以下のように、Rsnapshot 1.4が’ /usr/bin/rsnapshot ‘にインストールされていることがわかります。

SSHキー認証の設定
リモートバックアップを行う際には、rsnapshotサーバーがSSHキー認証を使用してターゲットサーバーにログインできることを確認する必要があります。リモートバックアップのためには、以下のものが必要です:
- ターゲットサーバーにログインするために使用されるユーザー
- SSHキー認証が有効になっていること
このセクションでは、rsnapshotサーバーでSSHキーを生成し、ユーザー’ alice ‘を使用して’ 192.168.10.41 ‘のターゲットサーバーにSSH公開鍵をコピーします。
‘rsnapshot’サーバーで、以下の’ ssh-keygen ‘コマンドを使用してSSHの公開鍵と秘密鍵を生成します。キーの場所とパスワードを尋ねられたら’ENTER’を押してください。
ssh-keygen -t ed25519
次に、以下の’ ssh-copy-id ‘コマンドを実行して、SSH公開鍵をターゲットサーバーにアップロードします。この例では、ユーザー’ alice ‘を使用して、SSHキー認証で’ 192.168.10.41 ‘からリモートバックアップを行います。
ssh-copy-id [email protected]プロンプトが表示されたらパスワードを入力します。

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/ localSSHおよび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 configtestrsnapshotバックアップの手動テスト
rsnapshotを設定したので、手動でバックアップを行い、バックアップディレクトリとrsnapshotログファイルを確認してバックアップを検証します。
バックアップを手動でテストするには、以下の’rsnapshot’コマンドを実行します。’ daily ‘をバックアップ名に変更してください。
rsnapshot dailyプロセスが完了したら、以下のコマンドでバックアップディレクトリ’ /srv/backup ‘を確認します。ローカルおよびリモートサーバーからのバックアップファイルを含む新しいバックアップディレクトリ’ daily.0 ‘が表示されます。
ls /srv/backup/次に、以下のコマンドを実行してrsnapshotによるディスク使用量を確認します。
rsnapshot du以下の出力では、rsnapshotバックアップの総ディスク使用量が5MBであることがわかります。

最後に、バックアッププロセスを確認するためにバックアップログファイル’ /var/log/rsnapshot.log ‘を確認します。
cat /var/log/rsnapshot.log以下の内容は、バックアップが成功したことを示していますが、’ /etc/shadow ‘ファイルのバックアップ時に権限拒否の警告がいくつか表示されています。

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を使用して自動バックアップを設定する方法も学びました。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。