October 6, 2022

Cron Jobs, the complete guide and how to schedule tasks through cronjobs

How to execute commands, tasks and activities at a specific time, even repeatedly? That's what a cronjob is.

cron Jobs

Cronjobs are a type of scheduling system that can be used to automate business processes. A Cronjob is a command or program that runs at a specified time or period. The purpose of these cronjobs is to run tasks automatically, which means you don't have to log into the system every time you want to run something.

This article will cover everything from what Cronjobs are and how they can help your business, right through to their setup and use.

What are Cronjobs?

Cronjobs are built into Unix-like operating systems and are used to schedule system tasks that need to run at a specific time. While not something most users will ever need to set up or manage themselves, they are a valuable tool for administrators and software developers who need to automate routine tasks.

They can be used to automate repetitive tasks, such as sending a daily newsletter or executing commands on a server. Cron jobs can be scheduled to run once per minute, once per hour, or even once per day.

'Cron' is short for chronometer and basically means “chronometer”. A cron job runs at predefined times or intervals. For example, you can schedule a database backup to take place every day at 17:00 pm.

What can Cronjobs be used for?

Cronjobs are used to schedule activities on a periodic basis. For example, you might have a cron job that runs every day to back up your data, archive old files, or have a cron job that runs every day at 19:30 pm that emails reports to your customers.

What are the benefits of using scheduling Cronjobs?

Cronjobs are a great way to free up time and save money. Instead of having to spend your time on manual scheduling of tasks, Cronjobs can be set to run automatically at specific times or intervals. This means you don't have to worry about missing out on an important business, like sending marketing emails or updating an image on your website.

Cronjobs also save you money by reducing the amount of time you spend on tedious tasks like updating social media, backing up or monitoring websites for traffic changes. With a Cronjob programmer, all of this work will be done automatically when scheduled so you no longer consume your precious development time!

How to set up a Cronjob scheduler

A cron job scheduler is a tool that allows you to schedule tasks to run at specified times or intervals. You can even use them on your computer or other computers. They are incredibly useful for automating many different types of tasks, including updating your website and backing up files from other devices on your network.

There are two operating systems that support cron job scheduling: Linux and Unix-like systems (such as Mac OS X), which have the most traditional root access method; and Windows 10 Pro (which has an added feature called Task Scheduler). There will be some slight differences between these methods depending on the operating system you are using, but all of them will allow you to set up automated tasks!

The process to create a basic Cron Job is pretty simple: open the terminal window by clicking on "Show Hidden Icons" → "View" → "View All Options" → Click on "Show Developer Tools" and finally do click on "Prompt CMD (administrator)." Once inside this new window, type “crontab -e” without quotes at the command prompt, then hit Enter! This will open Nano, the default text editor.

How to schedule tasks on Windows

  • First, make sure you are logged in as administrator or have the same administrator access.
  • Go up Home -> Panel control -> System and security -> Administrative tools -> Scheduler

Action -> Create basic activities -> Type a name for the scheduled job and click ' NEXT '

  • Follow the wizard to select the activities and times you want.

Your Cronjobs will now automatically run at specified intervals as per your settings just like any other Windows task or scheduled event

How to schedule tasks on Mac OSX

To schedule tasks on Mac OSX:

  • Click the Applications folder in the Finder and search for the Terminal app.
  • Open the app by double clicking on it or by pressing Command + Spacebar and typing "Terminal" in Spotlight Search (which will open a new tab in Safari).
  • Type the following command: sudo crontab -e
  • In the “Cron” window that opens, type the desired command to schedule a task (see example above). You can also add more commands here if you prefer!
  • Press Enter when you're done typing commands, then close Terminal by clicking File> Close Tab in the upper left corner of the window or by pressing Command + Q

How to schedule tasks on Linux

When it comes to setting up Linux Cronjobs, there are a few things you need to know. First, you can create and schedule tasks with the help of the crontab utility. The syntax for this command is as follows:

[user]@[hostname]:~$ sudo crontab -e

Where user is your username on the host machine and host name is your server's IP address or host name (you don't have to enter both). The tilde symbol (~) represents your home directory on Linux systems, so if your username is “John Doe” then ~ will refer to / home / john /. When you run this command on Ubuntu 18.04 Bionic Beaver (which comes with Python 3) you will see:

John Doe's Desktop 2 [21/08/2018 09:54]$ sudo crontab -e

The crontabs are stored in / var / spool / cron /. You can edit them with any text editor like vim or nano.


10 Cronjob examples to improve business efficiency

In a business environment, there are many tasks that need to be performed routinely. These tasks can be done manually, but are often repetitive or time-sensitive. For example, you might want to run a report every month or send an email reminder to your employees every week. In these cases, using cron jobs to automate these processes will save time and make them more efficient. Here are 10 examples of how to use Cronjobs in your business:

1. Email reminder

Email reminders are a great way to remind customers of upcoming events or deadlines. For example, you can schedule an email to be sent when a customer's event approaches so that they know what to expect and can prepare accordingly.

The following code will send an email reminder one week before your birthday:

crontab -e * * * 2 # 0 0 1 * - name: Send birthday reminder email: me@example.com

If you only want to receive the reminder on certain days of the week, use one of the following lines instead of "0 0 1 *" above:

  • Sunday (Sunday) at 12:00
  • Monday (Mon) at 12:00
  • Tuesday (Tue) at 12:00
  • Wednesday (Wednesday) at 12:00
  • Thursday (Thu) at 12:00
  • Friday (Friday) at 12:00
  • Saturday (Saturday) at 12:00

2. Backup the database

You can set up a cron job to perform database backups and restore them. You can also automate database backups with a cron job, so they run overnight or on weekends when there are fewer users on the system.

3. Archiving of old data

If your business is like most, you have a lot of data that is stored and forgotten. This is a problem because over time, older files are more likely to be lost if something happens to the hard drives or server.

To make sure this doesn't happen, you should set up a schedule for archiving your old data. Cronjobs are the perfect tool for archiving scheduling because they are easy to set up and run automatically in the background without any user intervention.

4. Monitoring and warning

Alerting is a process that monitors the status of a system or application and alerts appropriate personnel when an event requiring attention occurs. Alerts can be turned on from events such as a change in CPU usage, file modification, or a network connection.

The most common type of alert is an e-mail message sent to someone (or several people) who needs to take immediate action. This is useful to ensure that security breaches are detected as early as possible so that they can be stopped before causing further damage or being noticed by others outside of your company. There are many different types of alerts, some examples include:

  • Email notifications
  • SMS / text messages
  • Telephone calls

5. Data analysis or reporting

If you're looking for examples of analytics or reporting that can be performed by cron jobs, there are plenty of them out there. The most popular is probably Google Analytics, which allows users to import their site traffic data into an app and then schedule reports at the time they want it sent on any given day.

If you have employees who work remotely (or even if they aren't), it's important that they know what their daily tasks are and when they need to complete them before setting up a Cronjob with email alerts. This will ensure that all employees fulfill their responsibilities and get the job done on time without having to ask anyone else where they should start or what exactly they need to do today!

Knowing that each team member understands which tasks need to be completed can help eliminate any confusion about how much time is left before an important deadline arrives, which could mean less stress for everyone involved in the job!

6. Running inventory scripts

Inventory scripts are used to track a product's inventory. For example, if you have a product sold in stores and warehouses, you can use an inventory script to make sure your store has enough products for customers. You can also use this type of script to track the amount of stock in each warehouse location and determine which locations are running out faster than others.

7. Synchronization of files between systems

You can create a cron job which will synchronize files between systems.

For example, if you are using a file synchronization tool such as https://www.rsync.net and both the source and destination servers are set up correctly, you can use the command line utility rsync to perform this task automatically.

8. Check for software updates

You can check for software updates using the following command:

apt-get update

To install an update, run this command:

apt-get upgrade -y

To schedule a software update to happen automatically at a specific time, add the following cron job to your system's crontab file (which you can find by typing “sudo nano /etc/cron.d/”):

* */5 * * * root apt-get upgrade -y

If you want to roll back an installed update, run this command:

apt-update && apt-full dist-upgrade -reinstall --auto-remove && reboot

9. Call the APIs at regular intervals

There are a number of popular APIs that you can use to automate some tasks within your company. For example, you can create a cron job that calls the Google Calendar API every hour and creates events based on whether or not there are meetings scheduled for the next day. This would ensure that the calendar is always up to date and would also prevent employees from having to manually update their calendars after meetings have been canceled or rescheduled.

For example:

  • Google Calendar API: A “personal” type of web service where users can keep their calendars and share them with other people.
  • Upwork API: A type of “corporate” web service where companies can hire freelancers with different skills at reasonable rates (compared to what they would pay internally).

10. Running security scans or vulnerability assessment tools.

Security scanning tools scan the network for vulnerabilities and can be used to identify vulnerabilities in software, operating systems, and applications that are open to hackers. Vulnerability assessment tools help you test the security of your hardware devices (such as printers) by checking if they have been configured correctly. These tools help you improve business efficiency by ensuring that all your devices are protected from cyber attacks. Setting up cron jobs to automate these scans and send email alerts or reports as needed offers another great benefit.

Cron Job Terminology


Cron is a time-based job scheduler that runs in the background on a server. Cronjobs are scripts or programs that run automatically at specific intervals for routine tasks such as sending email notifications, updating analytics data, etc.

Cronjobs can be set to run once, daily, weekly and monthly. Most cron implementations allow users to set jobs to run at a certain time of day or day of the week (or week). A cron job will be queued until the scheduled run time arrives, then run at that time.

cron Jobs

Actual events scheduled using Cron with a specific time interval and command.

Cronjobs can be scheduled to run at a specific time or at a specific time of day.

  • * At a specific time. * The Cronjob will run at the specified date and time.
  • * At a specific time of day. * Cronjob will run during the specified time (0-23).

A Cronjob has three parts: a range, a command, and the name of a user who will execute the command.

The cron daemon is a time-based job scheduler that runs on Unix and Unix-like operating systems that allows you to schedule commands to run at specific times or intervals.


A configuration file containing all scheduled Cronjobs.

Crontab is a configuration file that contains the list of jobs to run at specified times. It usually resides in /etc/cron.de and is edited using the crontab editor.

Publisher Crontab

A tool that allows you to easily edit your crontab file, without having to use any code.


Hopefully, you are now convinced that Cronjobs are a useful tool for automating business processes. They have many benefits and can save you time in the long run. However, they do require a few settings before they work properly, so make sure you know what your needs are before you get started!


Do you have doubts? Don't know where to start? Contact us!

We have all the answers to your questions to help you make the right choice.

Chat with us

Chat directly with our presales support.


Contact us by phone during office hours 9:30 - 19:30

Contact us online

Open a request directly in the contact area.


Managed Server Srl is a leading Italian player in providing advanced GNU/Linux system solutions oriented towards high performance. With a low-cost and predictable subscription model, we ensure that our customers have access to advanced technologies in hosting, dedicated servers and cloud services. In addition to this, we offer systems consultancy on Linux systems and specialized maintenance in DBMS, IT Security, Cloud and much more. We stand out for our expertise in hosting leading Open Source CMS such as WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart and Magento, supported by a high-level support and consultancy service suitable for Public Administration, SMEs and any size.

Red Hat, Inc. owns the rights to Red Hat®, RHEL®, RedHat Linux®, and CentOS®; AlmaLinux™ is a trademark of AlmaLinux OS Foundation; Rocky Linux® is a registered trademark of the Rocky Linux Foundation; SUSE® is a registered trademark of SUSE LLC; Canonical Ltd. owns the rights to Ubuntu®; Software in the Public Interest, Inc. holds the rights to Debian®; Linus Torvalds holds the rights to Linux®; FreeBSD® is a registered trademark of The FreeBSD Foundation; NetBSD® is a registered trademark of The NetBSD Foundation; OpenBSD® is a registered trademark of Theo de Raadt. Oracle Corporation owns the rights to Oracle®, MySQL®, and MyRocks®; Percona® is a registered trademark of Percona LLC; MariaDB® is a registered trademark of MariaDB Corporation Ab; REDIS® is a registered trademark of Redis Labs Ltd. F5 Networks, Inc. owns the rights to NGINX® and NGINX Plus®; Varnish® is a registered trademark of Varnish Software AB. Adobe Inc. holds the rights to Magento®; PrestaShop® is a registered trademark of PrestaShop SA; OpenCart® is a registered trademark of OpenCart Limited. Automattic Inc. owns the rights to WordPress®, WooCommerce®, and JetPack®; Open Source Matters, Inc. owns the rights to Joomla®; Dries Buytaert holds the rights to Drupal®. Amazon Web Services, Inc. holds the rights to AWS®; Google LLC holds the rights to Google Cloud™ and Chrome™; Microsoft Corporation holds the rights to Microsoft®, Azure®, and Internet Explorer®; Mozilla Foundation owns the rights to Firefox®. Apache® is a registered trademark of The Apache Software Foundation; PHP® is a registered trademark of the PHP Group. CloudFlare® is a registered trademark of Cloudflare, Inc.; NETSCOUT® is a registered trademark of NETSCOUT Systems Inc.; ElasticSearch®, LogStash®, and Kibana® are registered trademarks of Elastic NV Hetzner Online GmbH owns the rights to Hetzner®; OVHcloud is a registered trademark of OVH Groupe SAS; cPanel®, LLC owns the rights to cPanel®; Plesk® is a registered trademark of Plesk International GmbH; Facebook, Inc. owns the rights to Facebook®. This site is not affiliated, sponsored or otherwise associated with any of the entities mentioned above and does not represent any of these entities in any way. All rights to the brands and product names mentioned are the property of their respective copyright holders. Any other trademarks mentioned belong to their registrants. MANAGED SERVER® is a trademark registered at European level by MANAGED SERVER SRL, Via Enzo Ferrari, 9, 62012 Civitanova Marche (MC), Italy.

Back to top