Skip to main content

Comprendre la structure des fichiers instantanés

Comprendre la structure et le contenu des répertoires d’instantanés de sauvegarde, y compris ce qui est stocké et comment les liens physiques sont utilisés.

Chaque instantané de sauvegarde est stocké dans un répertoire horodaté (par exemple, YYYYMMDDTHHMMSS) sous le chemin d’accès de la cible de sauvegarde (par exemple, /data/backup/data). Les instantanés comprennent l’exportation complète des principaux magasins de données. Les référentiels Git, GitHub Pages et autres composants sont stockés à l’aide de liens physiques afin d’optimiser le stockage et de permettre des restaurations ponctuelles efficaces.

Remarque

Si vous archivez des instantanés de sauvegarde, vous devez conserver les liens symboliques. Le déréférencement ou l’exclusion des liens symboliques, ou encore le stockage d’instantanés sur un système de fichiers qui ne les prend pas en charge, peuvent entraîner des échecs de restauration.

Le lien symbolique current renvoie toujours vers le répertoire du dernier instantané réussi.

Contenu d’un répertoire d’instantanés (<SNAPSHOT_TIMESTAMP>/)

Chaque répertoire d’instantanés contient des fichiers et des dossiers pour la configuration, les magasins de données et les métadonnées opérationnelles de votre instance. Vous trouverez ci-dessous une structure type.

Paramètres et configuration

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)

Exportations de magasins de données

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)

Données 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 et 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)

Secrets et informations d’identification

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.

Hooks et données de livraison

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

Divers

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

Contenu du répertoire racine de sauvegarde (/data/backup/data/)

Le répertoire racine de sauvegarde comprend tous les dossiers d’instantanés et les métadonnées utilisés pour le suivi des sauvegardes incrémentielles et leur suppression :

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