How to run a cronjob as a specific user?

Better Stack Team
Updated on October 5, 2023

One of the features of Cron is the ability to run Cron jobs as a specific user. Sometimes you may even want to create a special user with limited privileges just to run Cron jobs. There are two methods how to run cronjob as a specific user.

🔭 Want to get alerted when your Cron doesn't run correctly?

Go to Better Stack and start monitoring them in 5 minutes.

Using system crontab

Every Cron has a system-wide crontab. The system crontab is located in /etc/crontab. Here, you can find scheduled system cronjobs. You can run a custom cronjob by adding a new line in the /etc/crontab file and specifying the user who will run the command as in the following example.

 
#m  h dom mon dow user      command
*   *  *   *   *  someuser  echo 'Hello world!'

This will echo Hello world! in the terminal every minute.

Using user crontab

The second approach is to create a user-specific crontab and schedule a cronjob in this crontab. First, log in as the select user.

 
su someuser

Then create or open user-specific crontab.

 
crontab -e

If the user doesn't have a crontab it will create a new one and ask you to select your preferred text editor. Select your text editor and proceed to the next step.

And finally, add a cronjob in this file.

 
#m  h dom mon dow  command
*   *  *   *   *   echo 'Hello world!'

This will echo Hello world! in the terminal every minute.

Make your mark

Join the writer's program

Are you a developer and love writing and sharing your knowledge with the world? Join our guest writing program and get paid for writing amazing technical guides. We'll get them to the right readers that will appreciate them.

Write for us
Writer of the month
Marin Bezhanov
Marin is a software engineer and architect with a broad range of experience working...
Build on top of Better Stack

Write a script, app or project on top of Better Stack and share it with the world. Make a public repository and share it with us at our email.

community@betterstack.com

or submit a pull request and help us build better products for everyone.

See the full list of amazing projects on github