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

そういえば redash のバックアップを取得していなかったなと気づきまして。
どうやらコンテナ内部の PostgreSQL の dumpデータを取得するればいいようです。

↓こんな感じのシェルスクリプトをcronで定期実行すればいいですね!

#!/bin/sh

# バックアップディレクトリを定義
BACKUP_DIR=/var/backup
# バックアップファイルを保持する期間を定義
TIME=3

# DBのコンテナIDを取得
CID=$(docker container ls | grep postgres | awk '{print $1}')

# dumpを取得
docker container exec ${CID} /bin/bash -c 'pg_dump -U postgres postgres | gzip > /usr/local/redash-backup.gz'

# ホストにdumpを転送
docker container cp ${CID}:/usr/local/redash-backup.gz ${BACKUP_DIR}/redash-backup_$(date +"%Y%m%d").gz

# dumpのローテート設定
find ${BACKUP_DIR}/ -daystart -name '*.gz' -mtime +${TIME} -delete

↓redashの構築方法はこちら

【Docker】redashの構築【CentOS7】

投稿者: snk

保有資格 ・TOEIC 835 ・LPIC 304 ・AWS SAA/SAP ・GCP PCA ・IPA SC

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です