Nirmion
HelpLog in Find a tool

Developer · THE NO-PANIC PLAN

Validate a Linux cron schedule before installing it

A five-field expression can be syntactically valid and still run at the wrong time, under the wrong account, or with the wrong command environment. This workflow covers classic Linux Cronie user and system crontabs; Kubernetes, cloud schedulers, systemd timers, Quartz, and other cron dialects use different rules. The linked Nirmion builder checks a limited numeric expression subset only. Always check the target host's installed Cronie documentation and parser before installing a job.

MISSION Validate a five-field Linux Cronie schedule against the target host's installed syntax, account, time zone and calendar behavior, then verify it safely before relying on the scheduled command.

Build and review the five Cronie time fields

THE REAL-WORLD BIT

What happens outside this browser tab?

Define the intended wall-clock behavior and target Cronie host, build the five numeric fields, check the installed parser and correct crontab format, review day-field/time-zone/daylight-saving behavior, then install only after a harmless test and verify the job's real execution account, logs and overlap behavior.

YOUR CHECKLIST, WITH FEWER DRAMATIC SIGHES

One step at a time.

Follow the order below. If a step names a Nirmion tool, its link is right there with it.

  1. 01

    Write down when and where the job must run

    Identify the exact Linux host and Cronie version, the account whose crontab will own the command, the executable/script path, and whether this is a per-user crontab or a system file such as /etc/crontab or /etc/cron.d. Describe the intended times in ordinary language first, including the host time zone, acceptable delay, start date, frequency, what happens if the host is off, and whether two runs may overlap. Confirm the job owner has authority to schedule the command and that its action is safe to test. If the requirement is a one-time run, precise elapsed interval, or schedule from a different scheduler, stop and select the appropriate mechanism instead of forcing it into cron fields.

  2. 02

    Build the five fields and inspect the limits

    Use Cron Expression Builder to enter minute (0–59), hour (0–23), day of month (1–31), month (1–12), and day of week (0–7 for Cronie, where 0 and 7 are Sunday). The browser-local tool checks one numeric field/range at a time and returns the five-field expression plus its parsed fields and scheduler notes. Its accepted subset includes asterisks, comma-separated numeric values, inclusive numeric ranges, and numeric step values. It does not accept month/day names, @hourly-style nicknames, a command, a time zone, or every Cronie extension; it does not predict next-run dates or check whether the target host accepts the result. Treat its output as a candidate expression, not a runtime approval.

  3. 03

    Check the installed crontab format and parser

    Compare the expression with the target host's installed crontab(5) manual. A user crontab has five time fields followed by the command; /etc/crontab and files in /etc/cron.d additionally require a username field before the command. In Cronie versions that support it, put the candidate in a temporary file and run crontab -T against that file; this checks file syntax without installing it. If -T is unavailable, use the host's documented non-installing validation method. Check the command separately: Cronie runs it through its configured shell with a limited environment, so use reviewed absolute paths, set required environment values deliberately, and confirm output/error handling. Keep comments on their own lines and end the file with a newline.

  4. 04

    Verify calendar meaning, time zone and clock changes

    Translate the candidate into several actual dates using the target host's calendar and time zone. In Cronie, when both day-of-month and day-of-week are restricted, the job can run when either field matches; check this carefully for monthly weekday rules. A step such as */35 applies within its field and does not mean “every 35 minutes” across hour boundaries. A five-field expression has no embedded time zone: Cronie's CRON_TZ support is an implementation-specific crontab setting, and log timestamps may still use the daemon's local zone. Read the installed cron(8) and crontab(5) guidance for daylight-saving transitions and clock changes. The Cronie manual pages describe clock-change handling differently for some cases, so if an exact run around a clock change is critical, test the installed version or choose a scheduler with the required explicit time semantics.

  5. 05

    Test safely, install deliberately and verify execution

    Before enabling the real command, run a harmless test under the intended account in a non-production or otherwise safe environment. Confirm the observed time, user, working directory, PATH/environment, exit status, output, log destination and behavior when a prior run is still active. Check that the command is idempotent or has an explicit lock/overlap rule and that failures are noticed. Preserve a restricted backup of the existing table, install through the host's supported crontab command rather than editing spool files directly, and list the installed table afterward to verify the exact entry. Watch at least one expected execution and its log/result before considering the schedule operational. If timing or output differs from the requirement, remove or correct the entry using the host's documented process and investigate before re-enabling it.

THE HELPER CREW

Tools for the fiddly bits.

These are the currently published Nirmion tools matched to this guide. Open a tool page for its accepted inputs and limits.

RECEIPTS, PLEASE

Sources & review notes

Each source is linked to the steps it supports. Open it to check its scope and current guidance.

Source checked 2026-10-05