Skip to main content

free tools / cron generator

Cron every day

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 # | | .------- day of month: any value # | | | .----- month: any value # | | | | .--- day of week: any value 0 0 * * * /path/to/command # At 00:00. That is one run a day.

# next runs · your local time

    # the same job, reporting in after each good run 0 0 * * * /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 0 * * *"

    GitHub Actions

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

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

    what to know

    This runs once a day at midnight, server time. Most cron versions and Kubernetes also take @daily for it.

    To pick the time, set the first two fields to the minute and the hour: 30 2 * * * runs at 02:30.

    Where the server follows daylight saving, a job set between 01:00 and 03:00 can be skipped or run twice on the days the clocks change. A server on UTC avoids that.

    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