Creating Backups
You can create backups on demand or automate them with schedulers.
On-Demand Backups
To manually trigger a backup:
- Navigate to Repositories > GitHub, Repositories > GitLab, or Repositories > Bitbucket in the sidebar. Each Self-Managed GitLab instance you connect has its own entry under Repositories.
- Click on the repository you want to back up.
- On the repository detail page, click the Backup button.
- The backup job will start immediately. Follow its progress step by step in the Background jobs panel at the bottom right of the screen, or in the Activity tab.
Code & Commits is always included in a backup. The other scopes you can choose depend on the provider. See Backup Scopes.
Following and Cancelling a Backup
The Background jobs panel is available at the bottom right of every page, so you can keep following a running backup while you move around the app. It shows each step of the run and which steps failed. To stop a running backup, click its cancel icon in the panel.
Scheduled Backups
Automate backups by creating a scheduler:
- Open the repository detail page.
- Go to the Scheduler tab.
- Fill in the scheduler form: name, type (Minutely/Hourly/Daily/Weekly/Monthly/Custom CRON), time, timezone, and scopes.
- Save the scheduler.
The backup will run automatically at the configured time. See Creating a Scheduler for step-by-step instructions.
Push Event Backups
Trigger a backup every time code is pushed:
- Open the repository detail page.
- Go to the Push Event tab.
- Enable the push event toggle.
- Select which scopes to include.
See Push Event Backups for full details.
Backup Status
Each backup execution reports one of seven statuses: Pending, In Progress, Completed, Partially Completed, Failed, Cancelled, or Paused. The two most common outcomes are:
- Completed: All selected scopes were backed up without errors.
- Failed: The backup encountered an error. Check the Activity or Audit Logs page for details.
See Viewing Backups for what each status means.
What Happens During a Backup?
- GitSec authenticates with your Git provider using the access you granted when connecting it. For GitHub and Bitbucket this is the installed app; for GitLab it is an OAuth connection (GitLab.com) or an access token (Self-Managed GitLab).
- The selected data scopes are downloaded via the provider's API.
- The data is stored in your configured storage location. On GitSec Storage it is encrypted; in your own storage it is kept as regular files that you control.
- A backup snapshot record is created with metadata (timestamp, size, scopes, status).