TIMER CRON
File conversion

Convert TIMER to CRON

QUICK ANSWER
Is it possible to convert TIMER to CRON?
Yes - TIMER converts to CRON.

Read the OnCalendar= line in the .timer unit and rewrite that schedule as a standard cron expression in your crontab, pointing at the command the paired service runs. It is a manual rewrite, since no tool auto-converts a systemd timer into a cron entry.

On this page

Tested on macOS, Windows & Linux
Last verified Sep 2026

More free converters

HEIC, PNG, WEBP, MP3 and more - every tool here is free.

Open the toolbox

Why convert TIMER to CRON?

A systemd .timer and a cron job both schedule recurring commands, so admins moving off systemd want the same schedule expressed as .CRON syntax. The OnCalendar= calendar expression maps cleanly onto cron's minute-hour-day-month-weekday fields for most common schedules.

How to convert TIMER to CRON

crontab + manual mapping FREE

Run crontab -e and add a line whose five time fields match the timer, e.g. OnCalendar=*-*-* 02:00:00 becomes 0 2 * * * /path/to/command.

systemd-analyze calendar FREE

Run systemd-analyze calendar "*-*-* 02:00:00" to confirm the exact next run times of the OnCalendar value before you translate it into cron fields.

About these formats

Quality & what to watch

  • Only the schedule moves; the command, environment and user come from the paired .service file and must be added to the cron line yourself.
  • systemd extras like Persistent= (catch-up after downtime), RandomizedDelaySec= and accuracy windows have no cron equivalent and are lost.
  • Sub-minute or complex OnCalendar expressions can't be represented in cron's minute-level, five-field syntax.

Frequently asked questions

Is there an automatic timer-to-cron converter?
No; you map the OnCalendar= schedule to cron fields by hand, optionally verifying with systemd-analyze calendar and crontab.guru.
Where does the command for the cron line come from?
From ExecStart= in the matching .service unit that the timer activates.
How do I convert `@daily`-style schedules?
OnCalendar=*-*-* 00:00:00 equals @daily or 0 0 * * * in cron.
Will catch-up runs still work?
No; cron won't replay missed runs the way a timer with Persistent=true does.