1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

InfluxDBをバックアップ・リストアする

Last updated at Posted at 2024-09-19

概要

InfluxDBのバックアップ・リストア手順です。
InfluxDBはコンテナで動作していることを想定しています。

ドキュメントを確認するとバックアップ方法は2つのようです。
差分・増分バックアップの方法は確認できませんでした。

  • すべてのデータをバックアップする
  • 特定のバケットをバックアップする

本手順では、すべてのデータをバックアップする方法を紹介します。

環境

本手順で取り扱う内容は、次の環境にて確認しています。

マシン:Amazon EC2
OS:Ubuntu 24.04
Docker:27.2.0
Docker Compose:v2.29.2
influxDB:2.7.10
コンテナイメージ:bitnami/influxdb

InfluxDBバックアップ

注意事項
バックアップを取得する前に、アプリケーションを停止して下さい。

バックアップを取得します。
※influxdbのコンテナ名は、本手順ではinfluxdbとしています。

$ docker compose exec influxdb influx backup /tmp/`date +%Y%m%d`/ -t <admin_user_token>

バックアップを格納するディレクトリが無い場合は作成することをお勧めします。

$ mkdir backup

バックアップデータをホストマシンのバックアップ格納用ディレクトリにコピーします。

$ docker compose cp influxdb:/tmp/`date +%Y%m%d`/ ./backup/`date +%Y%m%d`

バックアップファイルの権限を変更します。
非rootコンテナであるbitnamiのコンテナイメージを利用している都合上、このような操作が必要になります。

$ sudo chown 1001:root -R ./backup/`date +%Y%m%d`

コンテナ上のバックアップファイルを削除します。

$ docker compose exec influxdb rm -fr /tmp/`date +%Y%m%d`/

InfluxDBリストア

バックアックファイルをコンテナにコピーします。
<YYYYMMDD>の箇所は、戻したい日付を指定して下さい。

$ sudo docker compose cp ./backup/<YYYYMMDD> influxdb:/tmp/

リストアを実行します。

$ docker compose exec influxdb influx restore -t <admin_user_token> --full /tmp/<YYYYMMDD>/

後片付けとして、コンテナ上に残っているバックアップファイルを削除します。

$ docker compose exec influxdb rm -fr /tmp/<YYYYMMDD>/

参考

https://docs.influxdata.com/influxdb/v2/admin/backup-restore/
https://docs.influxdata.com/influxdb/v2/reference/cli/influx/backup/
https://hub.docker.com/r/bitnami/influxdb

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?