Nextcloudデータを独立してバックアップおよび復元する方法は? (バージョン管理/スナップショット)

Nextcloudデータを独立してバックアップおよび復元する方法は? (バージョン管理/スナップショット)

複数のユーザーがNextcloudインストールと対話するたびにエラーが発生する可能性があります。家族が古い写真を削除したり、同僚が誤って仕事やカレンダーの予定を確認したりして、他のユーザーに問題を引き起こす可能性があります。

フルファイルシステムスナップショットまたはフルNextcloudディレクトリのバックアップが利用可能な場合は、それを使用してサーバー全体を以前の状態に復元できます。システムが完全にクラッシュしても大丈夫です。

しかし、時間が経つと問題が検出され、ユーザーが他のデータを修正すると問題が発生します。その後、古いデータを回復し、すべての進行状況を破棄するか、現在の状態を維持することから選択する必要があります。

これNextcloud ドキュメントインストール全体を復元する方法のみ説明します。

すべてのNextcloudデータ(ファイル、メッセージ、カレンダー、ジョブなど)をよりインテリジェントに自動的にバックアップして独立して復元する方法はありますか? (たぶんオンラインでも?)

ベストアンサー1

オンライン状態を復元するには、フルディスクバックアップが必要です(もちろん増分式で実行可能)。

もちろん、ユーザーの対話を通じて実際に変更されることは次のとおりです。

  1. データベース(すべてのユーザー情報、ファイルメタデータ、権限などを含む)
  2. データストレージ
  3. nextcloud自体(更新することができます)

3. nextcloudをバックアップするたびに、3つすべてのフルバックアップを必要とすることで「解決」できます(データベース形式は以前のバージョンと互換性がない可能性があります)。

一般的なコンテナ化されたnextcloud設定には2〜3個のコンテナがあります。

  1. データベースコンテナ「DB」を最初に起動する必要があります(通常はpostgresqlの実行)。
  2. 実際にDBのデータベースに接続し、データディレクトリを外部ボリューム「V」としてマウントするnextcloud「NC」を実行するコンテナ
  3. (リバースプロキシを使用すると、HTTPSの後ろにnextcloudを簡単に隠し、nextcloudコンテナからSSL証明書処理を分離できます)

これで、定期バックアップには次のものが含まれます。

  1. nextcloudを停止するか、少なくともNCを凍結するか、NCを完全に停止します。
  2. Vをバックアップします(増分バックアップはうまく機能します。すべての最新のバックアップユーティリティで可能です)。
  3. データベースにバックアップ(pg_backup_start)を実行するように指示すると、一貫した状態でバックアップが開始されます。データベースは、新しいジョブがバックアップの状態に影響しないことを保証します。
  4. ステップ3起動後に機能を復元するためのnextcloudの再起動(または凍結解除、NCの再起動)
  5. データベースにダンプをファイルに書き込むようにします(pg_backup_stop)。どのデータバックアップがどのデータベースバックアップに属しているかを確認してください(時間と日付を明確にする必要があります)。

通常、実際のnextcloudコンテナはどうしてもそれほど大きくはなく、データ自体もデータベースも含まないため、データとデータベースのバックアップとともに保存することも意味があります。

その後、データベースコンテナのコピーを開始し、データバックアップを解凍しながらデータベースバックアップを復元し、データベースの起動後にデータとしてnextcloudコンテナのインストールを開始して、まったく異なる(仮想)マシンで復元を実行できます。


実際にコンテナランタイム(podmanとDocker)を使用すると、独立したネットワーキングを実行できるため、LVMスナップショット+ XFSシンプロビジョニング、bachefs ...)を一緒にナビゲートできるだけ多くのデータベースサーバーを並列に実行できます。以前の状態は、現在の状態と並行して邪魔されることなく維持されます。

おすすめ記事