This repository includes backup and recovery utilities for GitHub Enterprise Server.
Note: The parallel backup and restore feature will require GNU awk and moreutils to be installed. Note that on some distributions/platforms, the moreutils-parallel
package is separate from moreutils
and must be installed on its own.
Note: the GitHub Enterprise Server version requirements have changed starting with Backup Utilities v2.13.0, released on 27 March 2018.
Backup Utilities implement a number of advanced capabilities for backup hosts, built on top of the backup and restore features already included in GitHub Enterprise Server.
ghe-backup
and ghe-restore
.If you have a question related to your specific GitHub Enterprise Server setup, would like assistance with backup site setup or recovery, or would like to report a bug or a feature request, please contact our Enterprise support team.
In October 2023 we announced a number of changes to this repository. These changes will improve our (GitHubs) ability to ship enhancements and new features to backup-utils, as well as simplify how GitHub Enterprise Server customers interact with backup-utils.
Our process for shipping new versions of backup-utils prior to November 2023 involved a 2-way sync between this repository and an internal repository. This 2-way sync became significantly more problematic once we started regularly shipping patches in alignment with GitHub Enterprise Server.
As of 2023-11-30 we have stopped this 2-way sync so that our internal repository becomes the source of truth for the backup-utils source code. With the the 2-way sync stopped, this public repository will be used to host documentation about backup-utils and to publish new versions of backup-utils. You will be able to access a specific version of backup-utils (which includes the full source code) from the release page of this repository.
This change has not affected the functionality of the backup-utils tool or a customers ability to backup or restore their GitHub Enterprise Server instance.
There are three specific areas that have been affected by us stop the 2-way sync between our internal repository and this public repository on 2023-11-30:
Below is the two phase timeline we will follow to roll out the changes described above:
If your current process for upgrading backup-utils involves a clone of the repository, you will need to modify your process to download a new version of backup-utils and set it up.
For example, you could download the v3.10.0 (github-backup-utils-v3.10.0.tar.gz) artifact from the releases page with:
\$ wget https://github.com/github/backup-utils/releases/download/v3.10.0/github-backup-utils-v3.10.0.tar.gz
And then extract it:
\$ tar xzvf github-backup-utils-v3.10.0.tar.gz
This will give you a new folder, github-backup-utils-v3.10.0
, which contains the code for version 3.10.0 of backup-utils. Once you copy over your backup.config file from a previous installation of backup-utils your new version of backup-utils will be ready to use.
For customers that currently use Docker to create a backup-utils image, their existing process may need updating as a result of this change. Previously customers could execute this command to build a Docker image of backup-utils:
\$ docker build github.com/github/backup-utils
This will not work after phase 2 roles out. You will need to update your process to first download an archive from the release page, extract it, and then build the Dockerfile inside the extracted directory.