【redash】dumpファイルからの復旧/データ移行【Docker】

【redash】Dockerコンテナ内部からdumpデータを取得【シェルスクリプト】


↑dumpデータの取得はこちらで。

dumpデータから redash のレストア/データ移行手順になります。

# コンテナ停止
docker-compose -f docker-compose-redash.yml down --remove-orphans

# PostgreSQLのコンテナのみ起動
docker container run -d -v /path/to/postgres-data:/var/lib/postgresql/data -p 5432:5432 postgres:9.5.6-alpine

# PostgreSQLのコンテナIDを確認
docker ps | grep postgres | awk '{print $1}'

# dumpファイルをコンテナに転送
docker container cp /path/to/redash-backup_$(date +"%Y%m%d").gz [コンテナID]:/usr/local/redash-backup_$(date +"%Y%m%d").gz

# DBの削除
docker container exec [コンテナID] /bin/bash -c 'psql -c "drop database if exists postgres" -U postgres template1'

# DBの作成
docker container exec [コンテナID] /bin/bash -c 'psql -c "create database postgres" -U postgres template1'

# dumpデータのインポート
docker container exec [コンテナID] /bin/bash -c 'zcat /usr/local/redash-backup_$(date +"%Y%m%d").gz | psql -U postgres -d postgres'

# PostgreSQLのコンテナ停止
docker container stop [コンテナID]

# PostgreSQLのコンテナ削除
docker container rm [コンテナID]

# コンテナ起動
docker-compose -f docker-compose-redash.yml up -d

↓redash の構築方法はこちら

【Docker】redashの構築【CentOS7】