Ryan Nichols
Behind the scenes

Your Automation Should Run on a Machine You Can Log Into

Owning your content is step one. Owning the clock is step two. Why I moved my scheduled jobs to a server I control, and the one systemd setting that catches missed runs.

By Ryan Nichols

  • 14 total reach
  • 0 reading now•0 active 24h
  • 0 shares•0 inbound
  • 0 comments

Most small businesses own their content now. Good. Own the domain, own the email list, own the customer records.

Then they hand the clock to somebody else.

The reminder texts, the weekly report, the follow-up sequence, the backup, the "every morning at six" job. All of it runs inside some rented automation service, on a schedule you cannot see, on a machine you cannot log into. If it stops, you find out when a customer tells you.

That is the part I moved this fall.

I already learned this lesson once

I have lived through what happens when a platform you do not own decides you are done.

Those supporters were real. The list was not mine. When the platform closed the door, the audience stayed on their side of it.

So I own the domain, the archive, and the database. But for a while, the jobs that keep the site running still lived on rented schedules. Same mistake, one layer down.

Why a box you can log into beats a dashboard you can only click

A rented automation dashboard is fine for one or two simple zaps. Once the business depends on it, three things start to bite.

You cannot see why it did not run. You get a red dot, maybe. You do not get the log, the error, the exit code, the exact second it failed.

You cannot catch up. If the service hiccups at 6:00 AM, the 6:00 AM job is just gone. Nobody reruns it unless you notice.

You cannot take it with you. The logic lives in their editor, in their format. Leaving means rebuilding by hand.

On a plain Linux server, the scheduler is systemd timers, which ship with the operating system. There is one setting in there I wish every small business owner knew about. It is called Persistent=. The official documentation says that when it is on, the time the job last ran is stored on disk, and if the timer was inactive when it should have fired, the job runs immediately once the timer comes back. The docs say it plainly: it is useful to catch up on missed runs when the system was powered down.

That one line is the difference between "the server rebooted and we lost Tuesday" and "the server rebooted and Tuesday ran ten seconds later."

What this costs you

I am not going to sell you a fantasy. Owning the box means owning the chores.

You patch it. You watch disk space. You keep the secrets in one locked file and never paste them into a chat window. You write a health check that tells you when something is off, because nobody else is going to.

For me the server lives at DigitalOcean, but the provider is not the point. Any plain Linux box you can log into works. The point is that when something breaks before sunrise, I can open the log, see the exact line, fix it, and rerun it. No ticket. No waiting on a support queue. No guessing.

How to start without moving everything

You do not have to rip out your whole stack this week. Do this instead.

  1. List every job that runs on a schedule. Reminders, reports, backups, follow-ups.
  2. Next to each one, write where it runs and who owns that machine.
  3. Circle the ones that would cost you money if they silently skipped a day.
  4. Move the circled ones first, to a server you can log into, with catch-up turned on and an alarm when they miss.

Leave the toy automations where they are. Move the ones that pay the bills.

Sharing this is the biggest help. Put it in front of one more person.

You made it to the end

Most people quit at the headline. You didn’t.

So don’t stop here. Pick one.

  1. Read the book

    Fighting Shadows is the whole story in my own words: the road into January 6, the D.C. jail, and the fight to get the record out.See the book
  2. Follow the case

    The record is still being written. Get one email when something new drops on it.

    Unsubscribe in one click.

  3. Hire Ryan

    I built this site. Want one that brings your business real leads? Start with a free 30-minute call.See the services

Tap how this hits you — no signup, everyone sees the count

Share this post — get it back in front of people

Comments

Speak here

Create an account to comment.

This is where people can say what gets buried or cancelled elsewhere. Comments are signed-only, moderated, and tied to a real profile so the record stays usable.

No approved comments yet. Create an account and put the first opinion on the record.