そういえば 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の構築方法はこちら