NadirTools

Non-Standard Cron Implementations: Unix, AWS, and systemd

1 min read

Compare scheduling variations across classic Unix, AWS EventBridge, and systemd timers.

Linux Vixie Cron vs. AWS Cron

Standard Unix cron uses 5 fields. However, other systems like AWS CloudWatch/EventBridge and Spring framework use 6 fields (adding seconds or years).

AWS Cron Syntax Difference:

AWS cron uses 6 fields: `cron(Minutes Hours Day-of-month Month Day-of-week Year)`. Additionally, you cannot specify `*` in both the Day-of-month and Day-of-week fields. One must be a question mark `?`.

systemd Timers: The Modern Alternative

On modern Linux systems, systemd timers are replacing standard cron jobs. They offer several advantages:

1. **Monotonic Timers**: Can run tasks relative to boot time or service activation rather than just calendar time.

2. **Detailed Logging**: Console output from triggered services is captured automatically in journald.

3. **Resource Control**: Jobs can be throttled using cgroups to prevent system resource starvation.