Servers

Scheduled tab

Jobs that run on a timetable — what they are, when they next run, and what they actually did.

Servers run things on a timetable: a nightly database backup, a certificate renewal, a log cleanup, a report email. This tab shows all of them in one place — and, unusually, shows you whether they actually worked.

Where scheduled jobs hide

The tab gathers all of these, because a job can be in any of them:

SourceWhat it is
User crontabsJobs owned by a particular user
/etc/crontabThe system-wide table
/etc/cron.dFiles dropped in by installed software
cron.hourly / daily / weekly / monthlyScripts run on those cycles
systemd timersThe modern replacement for cron

Use All sources to see everything at once.

Reading a job

ColumnMeaning
ScheduleWritten in plain English — "Every day at 02:00" — not just 0 2 * * *
NextWhen it will next run
LastWhen it last ran
CommandWhat it runs
Runs asWhich user it runs as. This matters: it decides what the job may touch
WhereWhich file it came from

What cron actually logged

Select a job and you get what the system recorded when it ran. This answers the question that matters: "my backup is scheduled — but is it running?"

A job that has been failing silently for six months looks identical, in the schedule list, to one that works. The log is the difference.

Run now

Runs the job immediately, using cron's own environment.

That detail is the point. The classic cron bug is a job that works when you run it by hand and fails on schedule, because cron runs with a minimal PATH and no profile loaded. Run now reproduces cron's environment, so if it works here it will work tonight.

MAILTO and PATH

  • MAILTO — where cron sends output. If it is empty, failures go nowhere, which is how a broken backup stays unnoticed.
  • PATH — the very short list of places cron looks for commands. Jobs should use full paths like /usr/bin/mysqldump rather than mysqldump.

Editing

You can edit crontabs directly. A backup of the file is taken automatically before your change is written, so a mistake is recoverable.

Cron syntax is unforgiving — five fields, in the order minute, hour, day of month, month, day of week. The plain-English translation shown next to each job is the quickest way to check you wrote what you meant.

What to check on a server you inherited

  1. Is there a backup job? Does its log show it succeeding?
  2. Is there a certificate renewal job (certbot or similar)?
  3. Does anything run as root that you do not recognise? Unexplained root cron jobs are a classic sign of a compromised server.

Guided tasks What runs on a schedule? and Are my backups working? do this review for you and report in plain words. See Guided tasks.

Permissions

Operator and above can edit jobs and run them now. Viewers can read. Everything is recorded in the Activity log.