Omnikit
DevFilesMoneyAll tools
Ctrl K
Dev toolsFile toolsMoney calculatorsAll tools
HomeDeveloper toolssystemd OnCalendar TesterCron to systemd Timer Converter

Cron to systemd Timer Converter

dev

Turn a crontab line into a systemd OnCalendar= value with ready .timer and .service units

Runs in your browser. Nothing you type is sent anywhere. Checked against sources on 17 Oct 2026.

Moving a job from cron to a systemd timer gains logging, catch-up after downtime with Persistent=true and resource limits. Paste the crontab line, such as 30 2 * * 1-5 /usr/local/bin/backup.sh, and get OnCalendar=Mon..Fri *-*-* 02:30:00 plus both unit files. The next five runs are shown for both, and a warning appears where cron and systemd read the two day fields differently.

Next:
  • Cron Expression Builder Build a cron schedule from menus, read it in plain English, see the next runs
  • Dockerfile Linter Check a Dockerfile against 55 hadolint rules: pinned versions, root user, cache and more

How to use Cron to systemd Timer Converter

1

Paste or type your input.

2

Choose the options you need.

3

Press Ctrl+Enter, then copy or download.

How Cron to systemd Timer Converter works

systemd timers replace cron on most Linux servers, but the OnCalendar= syntax is easy to get subtly wrong: is 9:00 every day or only weekdays, does */15 work, when does the job first run? This page answers by computing the schedule the way systemd does.

Cron to timer. Paste a crontab line, macros such as @daily included, and get the equivalent OnCalendar= value, the next 5 runs, and a .timer and .service pair ready for /etc/systemd/system. One difference matters: when a cron line restricts both the day of month and the day of week, cron runs when either matches, while systemd needs both; the page warns and suggests two OnCalendar= lines.

How it was checked. For 48 test values and 22 converted crontab lines, the normalized form and next 5 runs match systemd 255's own systemd-analyze calendar, invalid values are refused where systemd refuses them, and every converted cron line fires at the same instants as cron-parser computes for the original. Everything runs in your browser.

The rest of the article, and all 6 questions about systemd OnCalendar Tester, are on the systemd OnCalendar Tester page.

Frequently asked questions

How do I run a systemd timer every 15 minutes?

Use OnCalendar=*:0/15, which systemd normalizes to *-*-* *:00/15:00 and fires at minutes 0, 15, 30 and 45 of every hour. For a fixed interval since the last run instead of clock times, use OnUnitActiveSec=15min in the timer. Type either schedule here to see the next runs.

What does Mon..Fri *-*-* 09:00 mean in OnCalendar?

Mon..Fri limits the timer to weekdays, *-*-* means any year, month and day, and 09:00 is the time, with seconds defaulting to 00. Together the timer fires at 9 am Monday to Friday, in the server's local time zone unless UTC or another zone is added at the end.

How do I convert a cron job to a systemd timer?

Paste the crontab line on the Cron to timer tab. The five time fields become an OnCalendar= value, for example 30 2 * * 1-5 becomes Mon..Fri *-*-* 02:30:00, and the command becomes ExecStart= in a .service file. Save both units, then run systemctl daemon-reload and systemctl enable --now with the timer name.

What does Persistent=true do in a timer?

With Persistent=true, systemd stores when the timer last fired; if the machine was off at a scheduled time, the job runs once as soon as the timer starts again. Cron simply skips missed runs. The generated .timer file sets Persistent=true because backups and reports usually should not be skipped.

Sources

  • systemd.time(7), Calendar EventsThe weekday, date and time syntax, ranges, repetitions, ~ for the end of the month, and the shorthands
  • systemd.timer(5)OnCalendar=, several OnCalendar= lines, Persistent= and the matching .service unit
  • systemd-analyze(1)calendar --iterations and --base-time, used as the reference (systemd 255)
  • crontab(5)Cron fields, names, steps, macros, and that day of month and day of week are ORed

Last verified 17 October 2026.

Rates and rules change; check the source before you rely on a figure.

Still stuck? Ask about systemd OnCalendar Tester and anybody who knows can answer. No account needed.

More ways to use systemd OnCalendar Tester

  • systemd OnCalendar TesterCheck a systemd timer OnCalendar= value and see its next run times, or convert cron

On the related tools: Readability Checker – Flesch reading ease and grade level, with what to change · JSONPath Evaluator – Evaluate a JSONPath expression and get the matching values and their paths.

Related tools

All developer tools
Regex TesterTest JavaScript regular expressions with live highlighting and a plain-English explanationDiff CheckerCompare two texts side by side and see every added and removed lineJSON DiffCompare two JSON documents and list every added, removed and changed valueOpen Graph PreviewPaste a page and see the share card for Facebook, LinkedIn, X, WhatsApp and SlackKeyword Density and ReadabilityWord and phrase counts, densities, reading time and a Flesch readability scoreHTTP Status CodesEvery HTTP status code, what it means, when to send it and the RFC it comes fromUser-Agent ParserRead a user-agent string: browser, engine, OS, device type and whether it is a botJSONPath TesterRun RFC 9535 JSONPath queries on pasted JSON and see every match highlighted
Was this tool helpful?
Omnikit

Small jobs, done in your browser. Free, fast and private. Files are never uploaded.

Files

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Dev

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Money

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
GuidesQuestionsAboutHow we checkLaw library (beta)PrivacyTermsDisclosureContactMore: Exam practice (UGC NET Paper 1)Runs in your browser. Nothing is uploaded. © 2026 Omnikit (theomnikit.com)