Skip to main content

free tools / cron generator

Cron every 3 hours

Here is the line. Cron will run it, but it will not tell you the day it stops.

  1. Add one ping to the end of the job.
  2. Tell Uptimepage how often to expect it.
  3. A missed ping opens an incident and alerts you by Slack, email, PagerDuty, SMS or webhook.
alert me if this job stops

Free plan, no card. Opens the new-monitor form as a heartbeat check.

crontab -e
# .------------- minute: 0 # | .----------- hour: 0, 3, 6, …, 21 # | | .------- day of month: any value # | | | .----- month: any value # | | | | .--- day of week: any value 0 */3 * * * /path/to/command # Every 3 hours. That is 8 runs a day.

# next runs · your local time

    # the same job, reporting in after each good run 0 */3 * * * /path/to/command && curl -fsS $URL # $URL is the ping URL of an Uptimepage heartbeat check

    Add the line with crontab -e. Cron reads the server's time zone, which is often UTC.

    same schedule elsewhere

    Kubernetes CronJob

    spec:
      schedule: "0 */3 * * *"

    GitHub Actions

    on:
      schedule:
        - cron: '0 */3 * * *'

    GitHub runs schedules in UTC unless you set a time zone, and can start them late when it is busy.

    what to know

    Eight runs a day: 00:00, 03:00, 06:00, 09:00, 12:00, 15:00, 18:00 and 21:00.

    The count starts again at midnight. That is why a step that does not divide 24, such as */5 in the hour field, leaves a short gap: 20:00, then 00:00.

    For anything else, build it in the cron expression generator.

    more free tools: uptime SLA calculator · error budget calculator · incident message generator · DNS lookup · HTTP header checker · SSL certificate checker · SSL certificate decoder · domain expiry checker · website security checker · the whole set