---
title: "Cron to systemd"
description: "Convert a 5-field cron schedule into systemd timer and service units plus a Kubernetes CronJob draft. Review timezone and day-field semantics before use."
url: https://findutils.com/developers/cron-to-systemd/
category: developers
---

# Cron to systemd

Convert a 5-field cron schedule into systemd timer and service units plus a Kubernetes CronJob draft. Review timezone and day-field semantics before use.

**Use this tool:** [Cron to systemd](https://findutils.com/developers/cron-to-systemd/)

## Programmatic access

- REST id `cron-to-systemd`: POST https://api.findutils.com/api/tools/cron-to-systemd/execute (reference: https://findutils.com/api/cron-to-systemd/)
- MCP tool `cron_to_systemd` on https://mcp.findutils.com (reference: https://findutils.com/mcp/cron-to-systemd/)

## Why convert cron

systemd timers use OnCalendar, not crontab syntax. Kubernetes CronJob uses the 5-field cron string. This page emits both from one expression. Review ExecStart and the container command before you install the units. Conversion stays in your browser. Analytics or ads on the page may still load.

## Cron Migration Tips

- Use a 5-field cron expression. Six-field Quartz expressions and special names such as @daily are not supported.
- Check any schedule that sets both day-of-month and day-of-week because cron and systemd use different logic.
- Review the system timezone before you install the timer or apply the CronJob.
- Replace the generated busybox image and command with the image that contains your application job.
- Test the command separately before you enable the timer.

## Frequently Asked Questions

### Does it accept 5-field cron expressions?

Yes. FindUtils accepts the standard 5-field minute, hour, day, month, and weekday form. The expression */5 * * * * becomes a five-minute systemd calendar and the same CronJob schedule.

### Does it run the job?

No. The tool emits systemd unit text and a Kubernetes YAML draft. It does not install, enable, apply, or execute either output.

### What about 0 9 * * 1-5?

FindUtils converts it to OnCalendar Mon..Fri *-*-* 09:00:00. The CronJob keeps the schedule 0 9 * * 1-5.

### Can I use Quartz 6-field cron?

No. This converter accepts the 5-field cron form only. It rejects a 6-field expression that includes seconds.

### Is the generated YAML ready to apply?

It is a starting CronJob draft. Review the image, command, resource name, schedule, timezone, credentials, and cluster policy before you apply it.

### Does it support @daily or @reboot?

No. Enter a standard 5-field cron expression. Special names such as @daily and @reboot are not supported.

### Which timezone does the output use?

The generated files do not set a timezone. The target system or cluster configuration controls when the schedule runs.

### Why is there a day-of-month and day-of-week warning?

Cron treats restricted day-of-month and day-of-week fields as OR. systemd OnCalendar combines them as AND, so the converted timer can run on different dates.

### Is the generated container image ready for my job?

No. The YAML uses busybox:1.36 as a starting image. Replace it with an image that contains your command, runtime, and dependencies.

### Does the timer include missed-run recovery?

Yes. The generated timer includes Persistent=true. systemd can start a missed timer after the system becomes active again.

## Related Tools

- [Cron Expression Generator](https://findutils.com/developers/cron-expression-generator/)
- [JSON Formatter](https://findutils.com/developers/json-formatter/)
- [Regex Tester](https://findutils.com/developers/regex-tester/)
