Skip to main content

Creating a Scheduler

Set up automatic backups by creating a scheduler for a repository.

Steps

  1. Navigate to Schedulers in the sidebar.
  2. Click New Scheduler to open the Create New Scheduler dialog.
  3. Fill in the scheduler form:
FieldDescription
RepositorySelect the repository this schedule will back up.
Schedule NameOptional. Leave it empty and GitSec auto-generates a name from the repository and schedule type (e.g., "Backup for org/repo (daily)").
Schedule TypeChoose Daily, Weekly, Monthly, or Cron (custom CRON expression).
Time ZoneChoose UTC, Eastern Time (ET), or Local (Istanbul). The scheduled time is interpreted in this timezone. Shown only for Daily, Weekly, and Monthly types.
Included ItemsSelect which scopes to back up: Code & Commits, Pull Requests, Issues. At least one item must be selected.
  1. Click Save to create the scheduler.

The fields shown depend on the schedule type you pick:

TypeFields
DailyTime: the time of day to run the backup (24-hour format).
WeeklyDays of Week: select one or more days, plus Time.
MonthlyDay of Month: a day from 1 to 31, plus Time.
CronCron Expression: a Quartz CRON expression (see below). No timezone selector; the expression is evaluated in UTC.

:::info Included Items availability Wiki Pages, Projects, and Releases appear in the form but are disabled with a Coming soon badge. They cannot be selected yet. For Bitbucket repositories, the Issues option is not available. :::

Custom CRON Expressions

When you select Cron as the schedule type, you can define a fully flexible schedule using a Quartz CRON expression.

Format: second minute hour dayOfMonth month dayOfWeek

You can also enter just 5 fields (without the leading seconds field). GitSec automatically adds 0 seconds. If you enter all 6 fields, the first field must be exactly 0.

FieldAllowed Values
secondMust be 0 (or omit the field entirely).
minute0-59
hour0-23
dayOfMonth1-31, *, or ?
month1-12, JAN-DEC, or *
dayOfWeek1-7 (1 = Sunday, 2 = Monday, ... 7 = Saturday), SUN-SAT, *, or ?
info

dayOfMonth and dayOfWeek cannot both be *, one of them must be ?.

Examples:

ExpressionSchedule
0 0 15 * * ?Every day at 15:00
0 30 9 * * ?Every day at 09:30
0 0 8 1 * ?1st of every month at 08:00
0 0 10 ? * 2Every Monday at 10:00 (2 = Monday)
0 0 22 ? * 2-6Every weekday (Monday-Friday) at 22:00

Managing Schedulers

Saved schedulers appear in the table on the Schedulers page. For each scheduler you can:

  • Toggle Active/Inactive: Use the Status switch to enable or disable the scheduler without deleting it.
  • Backup Now: Trigger the scheduled backup immediately, regardless of the schedule.
  • Delete: Permanently remove the scheduler. A confirmation dialog appears before deletion.

You can also view the schedulers configured for a specific repository from the Scheduler tab on its repository detail page.

:::note Excluded repositories A scheduler can be enabled only while its repository is included in the backup scope. If the repository is excluded, turning the scheduler on fails with an error explaining that the repository is not included. Re-including the repository does not turn its schedulers back on automatically, enable them manually. :::

Tips

  • Set backup times during off-peak hours to avoid any potential rate limiting from your Git provider.
  • Use meaningful names for schedulers so you can easily identify them (e.g., "Nightly full backup" or "Weekly code-only").
  • For critical repositories, consider combining a scheduler with push event backups for maximum coverage.