Applies to: cron on Ubuntu, Debian, AlmaLinux, Rocky Linux and other Linux servers

Cron jobs can live in several places: each user’s own crontab, system-wide files in /etc, and, on modern systems, systemd timers. To see everything that runs on a schedule, check all of them. We tested these commands on Ubuntu 24.04, Debian 13 and AlmaLinux 9.

1. Your own cron jobs

crontab -l

If you have none, it says no crontab for username. Use crontab -e to add or change jobs.

2. Another user’s cron jobs (root or sudo)

sudo crontab -u alice -l

List every user’s crontab in one go:

for u in $(cut -d: -f1 /etc/passwd); do sudo crontab -u "$u" -l 2>/dev/null | grep -v '^#' | sed "s/^/$u: /"; done

User crontabs are stored in /var/spool/cron/crontabs/ on Ubuntu and Debian and in /var/spool/cron/ on AlmaLinux and Rocky Linux. Always edit them with crontab -e, not directly.

3. System-wide cron jobs

cat /etc/crontab
ls /etc/cron.d/ /etc/cron.hourly/ /etc/cron.daily/ /etc/cron.weekly/ /etc/cron.monthly/

Files in /etc/cron.d/ and /etc/crontab have an extra field for the user the job runs as. The cron.daily, cron.weekly and similar folders contain scripts that run at those intervals.

4. systemd timers

systemctl list-timers --all

Many packages now schedule their jobs as systemd timers instead of cron (for example package-list updates and log rotation). This shows each timer, when it last ran and when it runs next.

Reading a crontab line

*/5  *  *  *  *   /usr/local/bin/backup.sh
|    |  |  |  |
|    |  |  |  +-- day of week (0-7, Sunday is 0 or 7)
|    |  |  +----- month (1-12)
|    |  +-------- day of month (1-31)
|    +----------- hour (0-23)
+---------------- minute (0-59)
  • * means every value, */5 every 5 units, 1,15 a list, 1-5 a range.
  • 0 3 * * * runs at 03:00 every day; 30 2 * * 1 at 02:30 every Monday.
  • Shortcuts: @reboot, @hourly, @daily, @weekly, @monthly.

Times are in the server’s time zone. Check it with timedatectl.

Did a job run?

grep CRON /var/log/syslog          # Ubuntu, Debian (or: journalctl -u cron)
sudo grep CROND /var/log/cron      # AlmaLinux, Rocky Linux (or: journalctl -u crond)

On cPanel hosting, manage cron jobs in cPanel › Advanced › Cron Jobs instead. More about adding jobs: how to add jobs to cron.

Ucartz services for this topic

Was this answer helpful? 0 Users Found This Useful (0 Votes)