Cron
Cron syntax is used to schedule when jobs should run.
You may need to use a cron syntax string to create a pipeline schedule, or to prevent unintentional releases by setting a deploy freeze.
Cron syntax
Cron scheduling uses a series of five numbers, separated by spaces:
# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12)
# │ │ │ │ ┌───────────── day of the week (0 - 6) (Sunday to Saturday)
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ │
# * * * * * <command to execute>
(Source: Wikipedia)
In cron syntax, the asterisk (*
) means ’every,’ so the following cron strings
are valid:
- Run once an hour at the beginning of the hour:
0 * * * *
- Run once a day at midnight:
0 0 * * *
- Run once a week at midnight on Sunday morning:
0 0 * * 0
- Run once a month at midnight of the first day of the month:
0 0 1 * *
- Run once a month on the 22nd:
0 0 22 * *
- Run once a month on the 2nd Monday:
0 0 * * 1#2
- Run once a year at midnight of 1 January:
0 0 1 1 *
- Run every other Sunday at 0900 hours:
0 9 * * sun%2
- Run twice a month at 3 AM, on the 1st and 15th of the month:
0 3 1,15 * *
- This syntax is from the fugit modulo extension
For complete cron documentation, refer to the
crontab(5) — Linux manual page.
This documentation is accessible offline by entering man 5 crontab
in a Linux or MacOS
terminal.
Cron examples
# Run at 7:00pm every day:
0 19 * * *
# Run every minute on the 3rd of June:
* * 3 6 *
# Run at 06:30 every Friday:
30 6 * * 5
More examples of how to write a cron schedule can be found at crontab.guru.
How GitLab parses cron syntax strings
GitLab uses fugit
to parse cron syntax
strings on the server and cron-validator
to validate cron syntax in the browser. GitLab uses
cRonstrue
to convert cron to human-readable strings
in the browser.
Docs
Edit this page to fix an error or add an improvement in a merge request.
Create an issue to suggest an improvement to this page.
Product
Create an issue if there's something you don't like about this feature.
Propose functionality by submitting a feature request.
Feature availability and product trials
View pricing to see all GitLab tiers and features, or to upgrade.
Try GitLab for free with access to all features for 30 days.
Get help
If you didn't find what you were looking for, search the docs.
If you want help with something specific and could use community support, post on the GitLab forum.
For problems setting up or using this feature (depending on your GitLab subscription).
Request support