Skip to main content

スナップショット ファイルの構造について

格納されている内容やハード リンクの使われ方など、バックアップ スナップショット ディレクトリの構造と内容について説明します。

各バックアップ スナップショットは、バックアップ ターゲット パス (例: /data/backup/data) の下のタイムスタンプで示されるディレクトリ (例: YYYYMMDDTHHMMSS) に格納されます。 スナップショットには、主要なデータ ストアの完全なエクスポートが含まれます。 Git リポジトリ、GitHub Pages、その他のコンポーネントは、ストレージを最適化し、効率的なポイントインタイム リストアを可能にするため、ハード リンクを使って格納されます。

メモ

バックアップ スナップショットをアーカイブする場合は、シンボリック リンクを維持する必要があります。 シンボリック リンクを逆参照または除外したり、スナップショットをそれがサポートされていないファイル システムに格納したりすると、復元が失敗する可能性があります。

current シンボリック リンクは、常に、最新の成功したスナップショットのディレクトリを指します。

スナップショット ディレクトリの内容 (<SNAPSHOT_TIMESTAMP>/)

各スナップショット ディレクトリには、インスタンスの構成、データ ストア、操作メタデータのファイルとフォルダーが含まれます。 一般的な構造を次に示します。

設定と構成

settings.json             # Main appliance settings
manage-password           # Management console password hash
uuid                      # Appliance UUID
version                   # GHES version at backup time
strategy                  # Backup strategy used (e.g., rsync, cluster)
cluster.conf              # Cluster configuration (if applicable)

データストアのエクスポート

mysql.sql.gz              # Logical database dump (default) OR
xtrabackup_checkpoints    # Binary backup metadata (if binary backups used)
xtrabackup-export.log     # Log snippet from binary backup
mysql-binary-backup-sentinel # Indicates binary backup type
# May include other files related to logical or binary MySQL backups

Redis

redis.rdb                 # Redis database dump

Elasticsearch

audit-log/                # Audit log indices (uses hard links)
elasticsearch/            # Search indices (if not skipped, uses hard links)

GitHub のデータ

repositories/             # Git repositories (uses hard links)
pages/                    # GitHub Pages content (uses hard links)
storage/                  # Alambic-managed storage: avatars, attachments, etc. (uses hard links)

GitHub Actions と CI/CD

actions/                  # GitHub Actions blob storage (uses hard links)
mssql/                    # MS SQL Server backups (.bak, .diff, .log) (uses hard links)
minio/                    # MinIO object storage (if Actions or Packages enabled, uses hard links)

シークレットと資格情報

authorized-keys.json      # SSH keys authorized for administrative access
github-secrets.tar        # Tarball of various exported instance secrets
saml-keys.tar             # SAML IdP keys (if applicable)
ssh-host-keys.tar         # SSH host keys
ssl-ca-certificates.tar   # Custom CA certificates (if applicable)
# Includes other internal secrets and keys necessary for instance operation.

フックと配信データ

git-hooks/                # Custom Git hooks (uses hard links)
hookshot/                 # Webhook delivery data (uses hard links)

その他

enterprise.ghl            # License file (often restored separately)
live-upgrade/             # Data for live upgrades or migrations (uses hard links)
benchmarks/               # Performance logs for backup steps

バックアップ ルート ディレクトリの内容 (/data/backup/data/)

ルート バックアップ ディレクトリには、増分バックアップの追跡と除去に使われるすべてのスナップショット フォルダーとメタデータが含まれます。

YYYYMMDDTHHMMSS/          # Snapshot directory (one per backup)
...                       # Other snapshot directories
current                   # Symlink to the most recent successful snapshot
inc_full_backup           # Tracks base for MySQL incremental backups
inc_snapshot_data         # Tracks incremental MySQL snapshots
prune_*                   # Temporary directories marked for deletion
inc_previous_*            # Renamed snapshot directories during pruning cycle