How to list and view all current cron jobs?

Better Stack Team
Updated on January 9, 2023

Cron is a command-line job scheduler on Unix-like systems. It allows you to run automated tasks in the background and it's especially useful for repetitive jobs.

Those tasks are called cron jobs. Each job consists of three parts. The time when the job should be executed, a user who will run the task, and valid shell command or script that will be executed.

Cron jobs are defined in files called crontabs. Each user can have its own crontab file and there is also a system-wide crontab.

In this quick and easy-to-follow tutorial, you will learn how to list and view all current cronjobs.

How to display active cron jobs for the current user

To list all active cron jobs for the current user (ser that is currently logged in) run the following command:

crontab -l
# Edit this file to introduce tasks to be run by cron.
# Each task to run has to be defined through a single line
# indicating with different fields when the task will be run
# and what command to run for the task
# To define the time you can provide concrete values for
# minute (m), hour (h), day of month (dom), month (mon),
# and day of week (dow) or use '*' in these fields (for 'any').
# Notice that tasks will be started based on the cron's system
# daemon's notion of time and timezones.
# Output of the crontab jobs (including errors) is sent through
# email to the user the crontab file belongs to (unless redirected).
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
# For more information see the manual pages of crontab(5) and cron(8)
# m h  dom mon dow   command
* * * * * echo "Hello world!"

This will display your crontab. If you haven't created a crontab yet, it will print the message stating that the current user doesn't have any crontab.

How to display system cron jobs

System cron jobs are defined in the system crontab which is located in /etc/crontab. To display this crontab, simply run the following command:

cat /etc/crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.


# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

How to display cron jobs by user

If you want to display cron jobs for a specific user, you can use the following command and replace [username] with the user name of the select user:

sudo crontab -u [username] -l

How to display hourly, daily, weekly, monthly cron jobs

Hourly, daily, weekly, monthly cron jobs are stored in /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, /etc/cron.monthly folders respectively.

To display one of those files use the following command and replace the [anacron] with the select crontab.

ls -la [anacron]

For example, the following command will display the daily cron:

ls -la /etc/cron.hourly
Got an article suggestion? Let us know
Explore more
Licensed under CC-BY-NC-SA

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

We are hiring.

Software is our way of making the world a tiny bit better. We build tools for the makers of tomorrow.

Explore all positions →