Every 6 months
Semi-annual jobs such as certificate audits, data-retention sweeps or credential reviews.
Checked with the same parser Bex uses to validate schedules. Next run times are computed in your browser.
Cron expression
0 0 1 1,7 *| minute | 0 |
|---|---|
| hour | 0 |
| day of month | 1 |
| month | 1,7 |
| day of week | * |
Watch out for
- A job that runs this rarely is easy to break without noticing; alert on failure, because the next chance to see the error is months away.
- Bex does not set a per-job time zone: the cluster controller's clock decides. Bex's own next-run projection assumes UTC, as shown here.
Next runs
Calculating the next runs…
How to write it
crontab
0 0 1 1,7 * /usr/local/bin/my-job
Kubernetes CronJob
apiVersion: batch/v1
kind: CronJob
metadata:
name: my-job
spec:
schedule: "0 0 1 1,7 *"
concurrencyPolicy: Forbid
jobTemplate:
spec:
template:
spec:
restartPolicy: Never
containers:
- name: my-job
image: my-image
GitHub Actions
on:
schedule:
- cron: "0 0 1 1,7 *"
render.yaml (Bex cron job)
services:
- name: my-cron-job
type: cron
runtime: docker
schedule: "0 0 1 1,7 *"
Related schedules
- Every quarter
0 0 1 1,4,7,10 * - Every year
0 0 1 1 *
Run this schedule as a cron job on Bex: declare it in render.yaml and Bex keeps the run history and logs for every execution.
Cron jobs on Bex