Skip to content

Commit f342665

Browse files
Create incremental-mysql-backups-and-restores.md
Creating markdown version of @gamefiend 's documentation
1 parent 9396a89 commit f342665

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Incremental MySQL Backups and Restores
2+
3+
Customers who have large MySQL databases who wish to save storage space can use the `--incremental` flag with `ghe-backup` and `ghe-restore`.
4+
Using this flag performs backups for other parts of GHES as normal, but only performs a MySQL backup of the changes to the database from the previous snapshot.
5+
For larger databases this can conserve a lot of storage space for backups.
6+
7+
## Configuring number of backups
8+
9+
In your backup.config file you will need to set the variable `GHE_INCREMENTAL_BACKUP_MAX`.
10+
This variable determines how many cycles of full and incremental backups will be performed before the next full backup is performed with another cycle of incremental backups.
11+
If `GHE_INCREMENTAL_BACKUP_MAX` is set to 14, backup-utils will run 1 full backup and then 13 incremental backups before performing another full backup on the next cycle.
12+
13+
Incremental backups require the previous snapshot backups before them to work.
14+
Because of this, they do not follow the pruning strategy based on `GHE_NUM_SNAPSHOTS`.
15+
16+
## Performing incremental backups
17+
18+
To perform incremental backups:
19+
20+
`bin/ghe-backup --incremental`
21+
22+
the program will detect whether it needs to performa full or incremental snapshot based on what is currently in `GHE_DATA_DIR`.
23+
24+
To see what snapshots are part of your full and incremental backups, you can reference `GHE_DATA_DIR/inc_full_backup` and `GHE_DATA_DIR/inc_snapshot_data`, respectively.
25+
26+
## Performing incremental restores
27+
to perform incremental restores:
28+
`bin/ghe-restore --incremental -s <snapshot-id>.
29+
the program will use the mysql folders from each previous incremental backup and the full backup to restore the database.
30+
31+
:warning: Incremental restores require the other snapshots in the cycle to complete a restore. Erasing snapshot directories that are part of a cycle corrupts the restore and makes it impossible to complete for the mySQL database.
32+
33+
### Previous cycles
34+
To ensure there is a rolling window of mySQL backups, incremental mySQL backups from the cycle before the current one are kept. Those snapshots are pre-pended with `inc_previous`. To perform a restore from there , just use the full directory name for the snapshot id.

0 commit comments

Comments
 (0)