App Logo AppAddict
February 8th, 2026

Stop Making CRON Jobs!

Mac Apps
Shell Text

Cron Was Made for Always-On Unix Servers

Early in my career, I used to get annoyed when the old hands would wave away every automation problem with, "Just make a cron job." Cron dates back to the earliest days of Unix. It's simple, dumb, and dependable: once a minute it checks a text file, and if a line in that file matches the current time, it runs the associated command. Like most Unix tools, it works great--once you learn the arcane scheduling syntax. For example:
0 3 * * * /Users/amerpie/scripts/backup.sh

To cron, that means: *run this script every day at 3:00 AM.*** Cron was designed for machines that live in server rooms--powered on 24/7, connected to stable networks, and rarely put to sleep. macOS laptops are… not that. The core problem is that cron has zero situational awareness. It doesn't know or care whether:
  • you're logged in
  • the network is available
  • the laptop is asleep
  • macOS has changed anything since 1993
  • modern features like sandboxing, power-saving modes, or System Integrity Protection exist
Cron just runs on schedule. If your Mac is asleep at 3:00 AM, tough luck. That limitation makes cron a poor fit for most real-world Mac automation.

That's Why We Have launchd

Apple introduced launchd over 20 years ago with OS X 10.4 (Tiger) to replace cron and a pile of other legacy services. Unlike cron, launchd actually understands the modern Mac environment. It can handle:
  • starting and stopping apps
  • running background tasks
  • scheduling jobs
  • managing daemons
  • responding to system events
Most importantly, launchd isn't limited to "run at this time." It can trigger jobs based on state and context, including:
  • specific times or intervals
  • system boot
  • user login
  • file or folder changes
  • network availability
  • hardware events
  • on-demand conditions
In other words, launchd is designed for the messy, mobile, power-managed world Macs actually live in. There's just one big catch. You don't create launchd jobs with a simple line of text. Instead, you have to write XML property list files--verbose, picky, easy to mess up, and filled with cryptic keys you're expected to understand. For most sane people, that's a hard pass.

Useful Third-Party Apps That Make This Easy

Fortunately, it's 2026, and no one needs to hand-craft launchd XML files anymore. Several excellent Mac apps provide friendly interfaces for building launchd jobs or similar scheduled tasks. Lingon Pro Lingon has been around for more than two decades, and it's still one of the best launchd tools available. It gives you a clean GUI for creating complex jobs that can run:
  • whether your Mac is awake or asleep
  • whether you're logged in or not
  • with root privileges if necessary
  • with "keep alive" rules that automatically restart crashed processes
If you need serious, reliable background automation on macOS, Lingon Pro is the gold standard. Price: $23.99 one-time, or $11.99/year subscription Trial: Full-featured one-week trial LaunchD Task Scheduler This is a simpler, cheaper alternative to Lingon Pro. It doesn't have quite the same depth, but it's more than enough for many users. Key features:
  • Create, edit, and delete launchd tasks
  • Run jobs at intervals or on schedules (daily, weekly, monthly)
  • Trigger tasks based on events like:
    • volume mounting
    • user login
    • folder changes
  • Keep tasks running and auto-restart if they crash
If you want basic launchd automation without a learning curve, this $4.99 app is a solid value. Keyboard Maestro

Keyboard Maestro isn't primarily a scheduler--but it does include powerful time-based and event-based triggers. Some of the available triggers:
  • Hot keys
  • App launch / quit / activate / deactivate
  • Window events
  • Clipboard changes
  • Specific times or intervals
  • Typed strings
  • USB device events
  • Public web URLs
  • MIDI input
  • Device connection/disconnection
  • Login
  • Network changes
The downside: Keyboard Maestro only works when:
  • you're logged in
  • the Mac is awake
  • the Keyboard Maestro Engine is running
So it's not a replacement for launchd. But for user-level automation, it's incredibly powerful. For example, I have a macro that periodically checks whether Raycast, Hazel, Stream Deck, and BetterTouchTool are running--and restarts them if they're not. That's the kind of practical glue automation Keyboard Maestro excels at.
Apple Shortcuts Shortcuts on macOS has matured a lot, especially since macOS Tahoe. It now supports time-based automations similar to what iOS users have had for years. But there are important limitations:
  • You must be logged in
  • The Mac must be awake
  • It's better suited to workflows than true background services
Still, Shortcuts can trigger actions based on:
  • specific apps
  • power conditions
  • hardware connections
  • network changes
  • file system events
  • Bluetooth devices
  • time of day
If you have an always-on Mac mini or studio, Shortcuts can be surprisingly capable. On a sleeping laptop, not so much.

More Apps with Time-Based or Event Triggers

If you just need "run this thing on a schedule" without diving into launchd, these are worth a look:
  • Task Till Dawn -- Free automation tool for file management, printing, and browser tasks
  • Alarm Clock Pro -- Far more than an alarm clock; great for scheduled app launching and scripts
  • Shortery -- Adds real triggers to Apple Shortcuts (Wi-Fi, calendar, time, etc.)
  • Scheduler for Mac -- Lightweight app and script scheduler
  • Automator + Calendar Alerts -- Built-in macOS trick: create an Automator workflow, then have Calendar open it at a specific time
  • Launch Control -- A high-end launchd GUI similar to Lingon Pro, but pricier

Bottom Line

If you're automating a real Mac--not a headless server, cron is usually the wrong tool. For anything that needs to run reliably in the background, use launchd. And unless you genuinely enjoy editing XML by hand, use a GUI tool like Lingon Pro or LaunchD Task Scheduler to manage it. For user-level automations while you're actively working, Keyboard Maestro and Shortcuts are fantastic. Pick the right tool for the job, and your automations will actually work when you need them--rather than silently failing at 3:00 AM while your Mac sleeps peacefully on the nightstand.