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,*/5every 5 units,1,15a list,1-5a range.0 3 * * *runs at 03:00 every day;30 2 * * 1at 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
- KVM VPS hosting: NVMe SSD and full root access, with Free Basic Managed Support.
- Unmanaged dedicated servers: full root access and free IPMI KVM, with Free Basic Managed Support.
- Linux server management: hardening, patching, monitoring and automation for Ubuntu, Debian, RHEL and AlmaLinux.
