Skip to main content

Creating Backups

You can create backups on demand or automate them with schedulers.

On-Demand Backups​

To manually trigger a backup:

  1. 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.
  2. Click on the repository you want to back up.
  3. On the repository detail page, click the Backup button.
  4. 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:

  1. Open the repository detail page.
  2. Go to the Scheduler tab.
  3. Fill in the scheduler form: name, type (Minutely/Hourly/Daily/Weekly/Monthly/Custom CRON), time, timezone, and scopes.
  4. 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:

  1. Open the repository detail page.
  2. Go to the Push Event tab.
  3. Enable the push event toggle.
  4. 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?​

  1. 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).
  2. The selected data scopes are downloaded via the provider's API.
  3. 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.
  4. A backup snapshot record is created with metadata (timestamp, size, scopes, status).