前書き
Baculaは、コンピュータシステムのバックアップを作成し、データリカバリを実行できるオープンソースのネットワークバックアップソリューションです。 非常に柔軟で堅牢なため、構成が少し面倒ですが、多くの状況でのバックアップに適しています。 バックアップシステムは、https://www.digitalocean.com/community/tutorials/5-ways-to-improve-your-production-web-application-server-setup [ほとんどのサーバーインフラストラクチャの重要なコンポーネント]であり、多くの場合、データ損失は災害復旧計画の重要な部分です。
このチュートリアルでは、CentOS 7サーバーにBaculaのサーバーコンポーネントをインストールして設定する方法を示します。 ローカルバックアップを作成する毎週のジョブを実行するようにBaculaを構成します(つまり、 独自のホストのバックアップ)。 これ自体は、特に魅力的なBaculaの使用方法ではありませんが、他のサーバーのバックアップを作成するための良い出発点となります。 バックアップクライアント。 このシリーズの次のチュートリアルでは、Baculaクライアントをインストールして構成し、Baculaサーバーを構成して、他のリモートサーバーのバックアップを作成する方法を説明します。
代わりにUbuntu 14.04を使用する場合は、次のリンクに従ってください:https://www.digitalocean.com/community/tutorials/how-to-install-bacula-server-on-ubuntu-14-04 [Baculaのインストール方法Ubuntu 14.04上のサーバー]。
前提条件
CentOS 7サーバーでスーパーユーザー(sudo)アクセスが必要です。 また、サーバーは、常に保持する予定のすべてのバックアップに十分なディスク容量を必要とします。
DigitalOceanを使用している場合は、Baculaサーバーと同じデータセンター地域にあるすべてのクライアントサーバーで*プライベートネットワーク*を有効にする必要があります。 これにより、サーバーはバックアップの実行時にプライベートネットワークを使用できるようになり、ネットワークのオーバーヘッドが削減されます。
サーバーのプライベートFQDNを使用するようにBaculaを設定します。 + bacula.private.example.com +
。 DNSを設定していない場合は、代わりに適切なIPアドレスを使用してください。 プライベートネットワーキングを有効にしていない場合は、このチュートリアルのすべてのネットワーク接続情報を、問題のサーバーから到達可能なネットワークアドレスに置き換えます(例: パブリックIPアドレスまたはVPNトンネル)。
最後の前提は、SELinuxが無効になっているか、自分でSELinux関連の問題をトラブルシューティングできることです。
Baculaのコンポーネントの概要を見て始めましょう。
Baculaコンポーネントの概要
Baculaはいくつかのソフトウェアコンポーネントで構成されていますが、サーバークライアントバックアップモデルに従っています。議論を簡単にするために、個々のBaculaコンポーネントよりも*バックアップサーバー*と*バックアップクライアント*に重点を置きます。 それでも、さまざまなBaculaコンポーネントについて大まかな知識を持っていることが重要です。そのため、ここでそれらについて詳しく説明します。
「バックアップサーバー」とも呼ばれるBacula * server *には、次のコンポーネントがあります。
-
* Bacula Director(DIR):*ファイルおよびストレージデーモンによって実行されるバックアップおよび復元操作を制御するソフトウェア
-
*ストレージデーモン(SD):*バックアップに使用されるストレージデバイスで読み取りと書き込みを実行するソフトウェア
-
*カタログ:*バックアップされるファイルのデータベースを維持するサービス。 データベースは、MySQLやPostgreSQLなどのSQLデータベースに保存されます
-
* Bacula Console:*バックアップ管理者がBacula Directorと対話し、制御できるようにするコマンドラインインターフェイス
Note: The Bacula server components don't need to run on the same server, but they all work together to provide the backup server functionality.
Bacula クライアント、つまり バックアップされるサーバーは、* File Daemon(FD)*コンポーネントを実行します。 File Daemonは、バックアップされるデータへのBaculaサーバー(特にDirector)へのアクセスを提供するソフトウェアです。 これらのサーバーを「バックアップクライアント」または「クライアント」とも呼びます。
はじめに述べたように、独自のファイルシステムのバックアップを作成するようにバックアップサーバーを構成します。 これは、バックアップサーバーがバックアップクライアントでもあり、ファイルデーモンコンポーネントを実行することを意味します。
インストールを始めましょう。
BaculaとMySQLをインストールする
Baculaは、MySQLやPostgreSQLなどのSQLデータベースを使用して、バックアップカタログを管理します。 このチュートリアルでは、MySQLのドロップイン代替品であるMariaDBを使用します。
yumを使用してBaculaおよびMariaDBサーバーパッケージをインストールします。
sudo yum install -y bacula-director bacula-storage bacula-console bacula-client mariadb-server
インストールが完了したら、次のコマンドでMySQLを起動する必要があります。
sudo systemctl start mariadb
MySQL(MariaDB)がインストールされ実行されているので、次のスクリプトを使用してBaculaデータベースのユーザーとテーブルを作成しましょう。
/usr/libexec/bacula/grant_mysql_privileges
/usr/libexec/bacula/create_mysql_database -u root
/usr/libexec/bacula/make_mysql_tables -u bacula
次に、いくつかの危険なデフォルトを削除し、データベースシステムへのアクセスを少し制限する簡単なセキュリティスクリプトを実行します。 次を実行して、インタラクティブスクリプトを開始します。
sudo mysql_secure_installation
プロンプトが表示され、現在のルートパスワードが求められます。 MySQLをインストールしたばかりなので、おそらくMySQLがないため、Enterキーを押して空白のままにします。 次に、rootパスワードを設定するかどうかを尋ねるプロンプトが表示されます。 先に進み、「+ Enter 」を押してパスワードを設定します。 残りの質問については、各プロンプトで ` Enter`キーを押してデフォルト値を受け入れる必要があります。 これにより、一部のサンプルユーザーとデータベースが削除され、リモートルートログインが無効になり、これらの新しいルールがロードされるため、MySQLはすぐに変更を反映します。
次に、Baculaデータベースユーザーのパスワードを設定する必要があります。
ルートMySQLユーザーとしてMySQLコンソールに入ります:
mysql -u root -p
プロンプトで、設定したばかりのMySQLルートパスワードを入力します。
次に、Baculaデータベースユーザーのパスワードを設定します。 このコマンドを使用しますが、強調表示された「baculadbpassword」を強力なパスワードに置き換えます。
UPDATE mysql.user SET Password=PASSWORD('') WHERE User='bacula';
FLUSH PRIVILEGES;
ここで完了したら、MySQLプロンプトを終了します。
exit
起動時にMariaDBを有効にします。 これを行うには、次のコマンドを使用します。
sudo systemctl enable mariadb
MySQLライブラリを使用するようにBaculaを設定
デフォルトでは、BaculaはPostgreSQLライブラリを使用するように設定されています。 MySQLを使用しているため、代わりにMySQLライブラリを使用するように設定する必要があります。
このコマンドを実行してください。
sudo alternatives --config libbaccats.so
次のプロンプトが表示されます。 1を入力(MySQL):
OutputThere are 3 programs which provide 'libbaccats.so'.
Selection Command
-----------------------------------------------
1 /usr/lib64/libbaccats-mysql.so
2 /usr/lib64/libbaccats-sqlite3.so
*+ 3 /usr/lib64/libbaccats-postgresql.so
Enter to keep the current selection[+], or type selection number:
これで、Baculaサーバー(およびクライアント)コンポーネントがインストールされました。 バックアップディレクトリと復元ディレクトリを作成しましょう。
バックアップおよび復元ディレクトリの作成
Baculaには、バックアップアーカイブを保存するための* backup ディレクトリと、復元されたファイルが置かれる restore *ディレクトリが必要です。 システムに複数のパーティションがある場合は、十分なスペースがあるディレクトリにディレクトリを作成してください。
これら両方の目的のために新しいディレクトリを作成しましょう:
sudo mkdir -p /bacula/backup /bacula/restore
バキュラプロセス(およびスーパーユーザー)のみがこれらの場所にアクセスできるように、ファイルのアクセス許可を変更する必要があります。
sudo chown -R bacula:bacula /bacula
sudo chmod -R 700 /bacula
これで、Bacula Directorを構成する準備ができました。
Bacula Directorを構成する
Baculaには、正しく機能するために個別に構成する必要があるいくつかのコンポーネントがあります。 設定ファイルはすべて `+ / etc / bacula +`ディレクトリにあります。
バキュラディレクターから始めましょう。
Bacula Director設定ファイルをお気に入りのテキストエディターで開きます。 viを使用します。
sudo vi /etc/bacula/bacula-dir.conf
ディレクターリソースの構成
Directorリソースを見つけ、以下に示す + DirAddress +`行を追加して、 `+ 127.0.0.1 +
(localhost)でリッスンするように設定します。
bacula-dir.conf-ディレクターDirAddressを追加
Director { # define myself
Name = bacula-dir
DIRport = 9101 # where we listen for UA connections
QueryFile = "/etc/bacula/query.sql"
WorkingDirectory = "/var/spool/bacula"
PidDirectory = "/var/run"
Maximum Concurrent Jobs = 1
Password = "@@DIR_PASSWORD@@" # Console password
Messages = Daemon
}
次に、ファイルの残りの部分に進みます。
ローカルジョブを構成する
Baculaジョブは、バックアップおよび復元アクションを実行するために使用されます。 ジョブリソースは、特にクライアントの名前、バックアップまたは復元するFileSetなど、特定のジョブが実行する処理の詳細を定義します。
ここでは、ローカルファイルシステムのバックアップを実行するために使用されるジョブを構成します。
Director構成で、「BackupClient1」という名前の* Job *リソースを見つけます(「BackupClient1」を検索)。 `+ Name +`の値を“ BackupLocalFiles”に変更すると、次のようになります。
bacula-dir.conf-BackupClient1ジョブの名前を変更
Job {
Name = ""
JobDefs = "DefaultJob"
}
次に、「RestoreFiles」という名前の* Job *リソースを見つけます(「RestoreFiles」を検索)。 このジョブでは、2つのことを変更します。+ Name + `の値を“ RestoreLocalFiles”に更新し、
+ Where + `の値を“ / bacula / restore”に更新します。 これは次のようになります。
bacula-dir.conf-RestoreFilesジョブの名前変更
Job {
Name = ""
Type = Restore
Client=BackupServer-fd
FileSet="Full Set"
Storage = File
Pool = Default
Messages = Standard
Where =
}
これにより、以前に作成したディレクトリである「+ / bacula / restore +」にファイルを復元するRestoreLocalFilesジョブが設定されます。
ファイルセットを構成する
Bacula FileSetは、バックアップ選択から* include または exclude *ファイルにファイルまたはディレクトリのセットを定義し、ジョブによって使用されます。
「フルセット」という名前のFileSetリソースを探します(「#バックアップするファイルのリスト」というコメントの下にあります)。 ここで、3つの変更を行います。(1)gzipを使用してバックアップを圧縮するオプションを追加します。(2)インクルードファイルを「+ / usr / sbin 」から「 / 」に変更し、(3)「 [除外]セクションの下のファイル= / bacula + `。 コメントを削除すると、次のようになります。
bacula-dir.conf-「フルセット」ファイルセットの更新
FileSet {
Name = "Full Set"
Include {
Options {
signature = MD5
}
File =
}
Exclude {
File = /var/lib/bacula
File = /proc
File = /tmp
File = /.journal
File = /.fsck
}
}
「フルセット」ファイルセットに加えた変更について見ていきましょう。 まず、バックアップアーカイブの作成時にgzip圧縮を有効にしました。 第二に、「+ / 」、つまり バックアップするルートパーティション。 第三に、Baculaのバックアップと復元されたファイルを重複してバックアップしたくないため、「 / bacula +」を除外しています。
Note: If you have partitions that are mounted within /, and you want to include those in the FileSet, you will need to include additional File records for each of them.
バックアップジョブで常に「フルセット」などの幅広いファイルセットを使用する場合、バックアップの選択がより具体的である場合よりも多くのディスク領域がバックアップに必要になることに注意してください。 たとえば、必要なソフトウェアパッケージのインストールと復元されたファイルの適切な場所への配置を詳細に説明する明確なリカバリプランがある場合、カスタマイズされた構成ファイルとデータベースのみを含むFileSetで十分です。バックアップアーカイブのディスク容量。
ストレージデーモン接続の構成
Bacula Director構成ファイルで、StorageリソースはDirectorが接続するStorage Daemonを定義します。 実際のストレージデーモンをすぐに構成します。
ストレージリソースを見つけて、アドレスの値「+ localhost +」をバックアップサーバーのプライベートFQDN(またはプライベートIPアドレス)に置き換えます。 次のようになります(強調表示されている単語を置き換えます)。
bacula-dir.conf-ストレージアドレスの更新
Storage {
Name = File
# Do not use "localhost" here
Address = # N.B. Use a fully qualified name here
SDPort = 9103
Password = "@@SD_PASSWORD@@"
Device = FileStorage
Media Type = File
}
これは、プライベートネットワークインターフェイスでリッスンするようにストレージデーモンを構成し、リモートクライアントが接続できるようにするために必要です。
カタログ接続の構成
Bacula Director構成ファイルでは、カタログリソースはDirectorが使用して接続するデータベースの場所を定義します。
「MyCatalog」という名前のカタログリソース(「Generic catalog service」というコメントの下にあります)を見つけて、bacula MySQLユーザーに設定したパスワードと一致するように `+ dbpassword +`の値を更新します。
bacula-dir.conf-カタログdbpasswordの更新
# Generic catalog service
Catalog {
Name = MyCatalog
# Uncomment the following line if you want the dbi driver
# dbdriver = "dbi:postgresql"; dbaddress = 127.0.0.1; dbport =
dbname = "bacula"; dbuser = "bacula"; dbpassword = ""
}
これにより、Bacula DirectorがMySQLデータベースに接続できるようになります。
プールを構成する
プールリソースは、Baculaがバックアップを書き込むために使用するストレージのセットを定義します。 ストレージボリュームとしてファイルを使用し、ラベルを更新するだけで、ローカルバックアップに適切なラベルが付けられます。
「ファイル」という名前のプールリソース(「#ファイルプールの定義」というコメントの下にあります)を見つけて、ラベル形式を指定する行を追加します。 完了すると、次のようになります。
bacula-dir.conf-更新プール:
# File Pool definition
Pool {
Name = File
Pool Type = Backup
Recycle = yes # Bacula can automatically recycle Volumes
AutoPrune = yes # Prune expired volumes
Volume Retention = 365 days # one year
Maximum Volume Bytes = 50G # Limit Volume size to something reasonable
Maximum Volumes = 100 # Limit number of Volumes in Pool
}
保存して終了。 最後に、Bacula Directorの構成が完了しました。
ディレクター構成を確認します。
Director構成ファイルに構文エラーがないことを確認しましょう。
sudo bacula-dir -tc /etc/bacula/bacula-dir.conf
エラーメッセージがない場合、 `+ bacula-dir.conf +`ファイルには構文エラーはありません。
次に、ストレージデーモンを構成します。
ストレージデーモンの構成
Baculaサーバーはほぼセットアップされていますが、Storage Daemonを構成する必要があるため、Baculaはバックアップの保存場所を認識しています。
お気に入りのテキストエディターでSD構成を開きます。 viを使用します。
sudo vi /etc/bacula/bacula-sd.conf
ストレージリソースの構成
ストレージリソースを見つけます。 これは、SDプロセスが接続をリッスンする場所を定義します。 `+ SDAddress +`パラメータを追加し、バックアップサーバーのプライベートFQDN(またはプライベートIPアドレス)に割り当てます。
bacula-sd.conf-SDAddressの更新
Storage { # definition of myself
Name = BackupServer-sd
SDPort = 9103 # Director's port
WorkingDirectory = "/var/lib/bacula"
Pid Directory = "/var/run/bacula"
Maximum Concurrent Jobs = 20
}
ストレージデバイスの構成
次に、「FileStorage」という名前のデバイスリソースを見つけ(「FileStorage」を検索)、バックアップディレクトリに一致するように「+ Archive Device +」の値を更新します。
bacula-sd.conf-アーカイブデバイスの更新
Device {
Name = FileStorage
Media Type = File
Archive Device =
LabelMedia = yes; # lets Bacula label unlabeled media
Random Access = Yes;
AutomaticMount = yes; # when device opened, read it
RemovableMedia = no;
AlwaysOpen = no;
}
保存して終了。
ストレージデーモン構成の確認
Storage Daemon構成ファイルに構文エラーがないことを確認しましょう。
sudo bacula-sd -tc /etc/bacula/bacula-sd.conf
エラーメッセージがない場合、 `+ bacula-sd.conf +`ファイルには構文エラーはありません。
Baculaの設定が完了しました。 Baculaサーバーのコンポーネントを再起動する準備が整いました。
Baculaコンポーネントのパスワードを設定する
Director、SD、FDなどの各Baculaコンポーネントには、コンポーネント間認証に使用されるパスワードがあります。おそらく、構成ファイルを調べているときにプレースホルダーに気づいたでしょう。 これらのパスワードを手動で設定することは可能ですが、実際にこれらのパスワードを知る必要はないため、コマンドを実行してランダムなパスワードを生成し、さまざまなBacula設定ファイルに挿入します。
これらのコマンドは、Directorパスワードを生成および設定します。 `+ bconsole +`はDirectorに接続するため、パスワードも必要です:
DIR_PASSWORD=`date +%s | sha256sum | base64 | head -c 33`
sudo sed -i "s/@@DIR_PASSWORD@@/${DIR_PASSWORD}/" /etc/bacula/bacula-dir.conf
sudo sed -i "s/@@DIR_PASSWORD@@/${DIR_PASSWORD}/" /etc/bacula/bconsole.conf
これらのコマンドは、ストレージデーモンパスワードを生成および設定します。 DirectorはSDに接続するため、パスワードも必要です。
SD_PASSWORD=`date +%s | sha256sum | base64 | head -c 33`
sudo sed -i "s/@@SD_PASSWORD@@/${SD_PASSWORD}/" /etc/bacula/bacula-sd.conf
sudo sed -i "s/@@SD_PASSWORD@@/${SD_PASSWORD}/" /etc/bacula/bacula-dir.conf
これらのコマンドは、ローカルファイルデーモン(Baculaクライアントソフトウェア)パスワードを生成および設定します。 DirectorはこのFDに接続するため、パスワードも必要です。
FD_PASSWORD=`date +%s | sha256sum | base64 | head -c 33`
sudo sed -i "s/@@FD_PASSWORD@@/${FD_PASSWORD}/" /etc/bacula/bacula-dir.conf
sudo sed -i "s/@@FD_PASSWORD@@/${FD_PASSWORD}/" /etc/bacula/bacula-fd.conf
これで、Baculaコンポーネントを開始する準備が整いました!
Baculaコンポーネントを起動
次のコマンドを使用して、Bacula Director、Storage Daemon、およびローカルFile Daemonを起動します。
sudo systemctl start bacula-dir
sudo systemctl start bacula-sd
sudo systemctl start bacula-fd
すべてが正常に起動した場合は、これらのコマンドを実行して、起動時に自動的に起動するようにします。
sudo systemctl enable bacula-dir
sudo systemctl enable bacula-sd
sudo systemctl enable bacula-fd
バックアップジョブを実行して、Baculaが動作することをテストしてみましょう。
バックアップジョブのテスト
Bacula Consoleを使用して、最初のバックアップジョブを実行します。 問題なく実行される場合、Baculaが適切に設定されていることがわかります。
次のコマンドでコンソールに入ります:
sudo bconsole
これにより、 `+ * +`プロンプトで示されるBacula Consoleプロンプトが表示されます。
ラベルを作成する
`+ label +`コマンドを発行することから始めます:
label
ボリューム名を入力するように求められます。 好きな名前を入力してください:
Enter new Volume name:
次に、バックアップで使用するプールを選択します。 「2」を入力して、前に構成した「ファイル」プールを使用します。
Select the Pool (1-3):2
バックアップジョブを手動で実行する
Baculaは、バックアップ用のデータをどのように書き込むかを知っています。 バックアップを実行して、正常に動作することをテストできます。
run
実行するジョブを選択するよう求められます。 「BackupLocalFiles」ジョブを実行するため、プロンプトで「1」を入力します。
Select Job resource (1-3):1
「バックアップジョブの実行」確認プロンプトで詳細を確認し、「yes」と入力してジョブを実行します。
yes
メッセージとステータスを確認する
ジョブを実行すると、Baculaはメッセージがあることを通知します。 メッセージは、ジョブの実行によって生成された出力です。
次を入力してメッセージを確認します。
messages
メッセージには、「以前のフルバックアップジョブレコードが見つかりません」と表示され、バックアップジョブが開始されたことが示されます。 エラーがある場合、何かが間違っているので、ジョブが実行されなかった理由についてのヒントを提供する必要があります。
ジョブのステータスを確認する別の方法は、ディレクターのステータスを確認することです。 これを行うには、bconsoleプロンプトで次のコマンドを入力します。
status director
すべてが正常に機能している場合、ジョブが実行されていることがわかります。 このようなもの:
Output - status director (Running Jobs)Running Jobs:
Console connected at 09-Apr-15 12:16
JobId Level Name Status
======================================================================
3 Full BackupLocalFiles.2015-04-09_12.31.41_06 is
====
ジョブが完了すると、次のようにステータスレポートの「終了したジョブ」セクションに移動します。
Output - status director (Terminated Jobs)Terminated Jobs:
JobId Level Files Bytes Status Finished Name
====================================================================
3 Full 161,124 877.5 M 09-Apr-15 12:34 BackupLocalFiles
「OK」ステータスは、バックアップジョブが問題なく実行されたことを示します。 おめでとうございます。 Baculaサーバーの「フルセット」のバックアップがあります。
次のステップは、復元ジョブをテストすることです。
復元ジョブのテスト
バックアップが作成されたので、適切に復元できることを確認することが重要です。 `+ restore +`コマンドを使用すると、バックアップされたファイルを復元できます。
すべて復元ジョブを実行
デモのために、最後のバックアップですべてのファイルを復元します。
restore all
選択メニューには、さまざまなオプションが表示されます。これらのオプションは、復元するバックアップセットを識別するために使用されます。 バックアップは1つしかないため、「最新のバックアップを選択する」-オプション5を選択します。
Select item (1-13):5
クライアントはBaculaサーバーのみであるため、自動的に選択されます。
次のプロンプトは、使用するFileSetを尋ねます。 「フルセット」を選択します。これは2です。
Select FileSet resource (1-2):2
これにより、バックアップしたディレクトリ構造全体を含む仮想ファイルツリーにドロップされます。 このシェルのようなインターフェイスにより、単純なコマンドを使用して、復元するファイルをマークおよびマーク解除することができます。
「すべて復元する」ことを指定したため、バックアップされたすべてのファイルはすでに復元対象としてマークされています。 マークされたファイルは、先頭の「+ * +」文字で示されます。
選択を微調整する場合は、「ls」コマンドと「cd」コマンドを使用してファイルをナビゲートおよびリストし、「マーク」で復元するファイルをマークし、「マーク解除」でファイルのマークを解除します。 コンソールに「help」と入力すると、コマンドの完全なリストが利用できます。
復元の選択が完了したら、次のように入力して続行します。
done
復元ジョブを実行することを確認します。
OK to run? (yes/mod/no):yes
メッセージとステータスを確認する
バックアップジョブと同様に、復元ジョブを実行した後、メッセージとDirectorのステータスを確認する必要があります。
次を入力してメッセージを確認します。
messages
復元ジョブが開始されたか、「復元OK」ステータスで終了したことを示すメッセージが表示されます。 エラーがある場合、何かが間違っているので、ジョブが実行されなかった理由についてのヒントを提供する必要があります。
繰り返しますが、Directorのステータスを確認することは、復元ジョブの状態を確認するための優れた方法です。
status director
復元が終了したら、「+ exit +」と入力してBaculaコンソールを終了します。
exit
復元を確認
復元ジョブが選択したファイルを実際に復元したことを確認するには、 `+ / bacula / restore +`ディレクトリ(Director構成の「RestoreLocalFiles」ジョブで定義された)を確認できます。
sudo ls -la /bacula/restore
「RestoreLocalFiles」ジョブの「Exclude」セクションにリストされたファイルとディレクトリを除く、ルートファイルシステム内のファイルの復元されたコピーが表示されます。 データの損失から回復しようとした場合、復元されたファイルを適切な場所にコピーできます。
復元されたファイルを削除する
復元されたファイルを削除して、ディスク容量を解放することができます。 これを行うには、次のコマンドを使用します。
sudo -u root bash -c "rm -rf /bacula/restore/*"
復元されたファイルの多くはルートが所有しているため、この `+ rm +`コマンドをルートとして実行する必要があることに注意してください。
結論
これで、ローカルファイルシステムをバックアップおよび復元できる基本的なBaculaセットアップができました。 次のステップは、他のサーバーをバックアップクライアントとして追加し、データが失われた場合にそれらを回復できるようにすることです。
次のチュートリアルでは、他のリモートサーバーをBaculaクライアントとして追加する方法を示します。https://www.digitalocean.com/community/tutorials/how-to-back-up-a-centos-7-server-with- bacula [BaculaでCentOS 7サーバーをバックアップする方法]。