TNS
VOXPOP
As a JavaScript developer, what non-React tools do you use most often?
Angular
0%
Astro
0%
Svelte
0%
Vue.js
0%
Other
0%
I only use React
0%
I don't use JavaScript
0%
Linux

Unsure How To Schedule With Cron on Linux? Try One of These GUIs

Cron is a terrific utility for scheduling reoccurring jobs on Linux, but its interface can be a bit opaque. These two utilities can make scheduling easier.
Apr 12th, 2025 6:00am by
Featued image for: Unsure How To Schedule With Cron on Linux? Try One of These GUIs
Background image via Unsplash.

Cron is the Linux subsystem that allows users to schedule tasks. With cron, you could build a Linux backup script and then automate the process. You can set recurring tasks of all sorts for backup, system maintenance, data synchronization, sending emails, cleaning temp files, and custom scripts.

Cron is an incredibly flexible tool that gives Linux even more flexibility than most operating systems.

The thing about Cron, however, is that it can trip up new users.

Consider this entry in my crontab I use to back up certain directories:

What does it all mean? Well, the breakdown looks like this:

  • 0 0 * * * = the date/time/period to run the task.
  •  /home/jack/Documents/rsync.sh = the script to be run.
  • > /dev/null 2>&1 = suppresses standard output for scripts that might display information by default.

This isn’t exactly something new users will find simple to grasp.

Fortunately, there are some GUI apps you can install to make scheduling jobs with Cron so much easier. With these GUIs, anyone could easily schedule a task on Linux.

Let me introduce you to them.

Zeit

Zeit is my favorite desktop GUI for Cron. Zeit features the ability to:

  • Schedule cron jobs.
  • Modify cron jobs.
  • Delete cron jobs.
  • Schedule timers and alarms.
  • Modify environment variables.
  • Schedule one-time commands.

With Zeit, anyone can schedule a task on Linux without having to learn how Cron deals with time (so no reason to worry about that */5 * * * * running a task every five minutes or 12 5 * * * is 5:12 a.m.).

Before you can use Zeit, you have to install it (as it’s not found in the standard repositories). There are two ways to install Zeit: from a third-party Debian repository or from source.

First, let’s install it on an Ubuntu-based distribution using the following three commands:


Once installed, you’ll find the entry for Zeit in your desktop menu. Start Zeit, click Add Task, and point and click your way to success (Figure 1).

 

Zeit screenshot.

Figure 1: Zeit is about as easy as it gets for scheduling cron jobs.

Let’s say you want to schedule a backup script to run every night at midnight. Let’s say the script is /home/USER//Documents/scripts/backup.sh (where USER is your username). When the New Task window is open, you’ll configure it as such:

  • Description = Daily Documents Backup
  • Command = /home/USER//Documents/scripts/backup.sh
  • Advanced = Minute = ‘0’, hour = ‘0’, Day = ‘*’, Day of Week = ‘*’, and Month = ‘*’

Click OK, and you’re done. Note that * means every (such as every Day, every Week, and every Month).

Install Zeit via Source

If you’re using a distribution other than one based on Debian, you can install Zeit from source with the following commands:


Now let’s take a look at a Cron GUI that can be used on both desktops and headless servers.

Crontab-UI

Crontab-UI is another GUI, only this one is used via a web browser (which makes it great for servers). With Crontab-UI, you can do everything you can do in Zeit and even make backup copies of your cronjobs.

Crontab-UI is written in NodeJS, which means it’s installed via NPM.

You’ll first need to make sure NPM is installed. On Ubuntu-based distributions, that’s done with the command:


On Fedora-based distributions, the command is:


Finally, to install crontab-ui, issue the following command:

Accessing the UI

To access this web-based UI, you first have to start the service with the command:


Where SERVER_IP is the IP address of the hosting server and PORT_NUMBER is an available port (such as 8000). For example, if my IP address is 192.168.1.138 and the port number is 8000, the command would be:


The service is now running. You should be able to use Ctrl+C to get your prompt back (while leaving the service running).

Next, point a web browser (that’s on the same network) to:


You should see the crontab-ui web page (Figure 2), where you can click New to create your first cron job.

 

screenshot

Figure 2: The crontab-ui web GUI is very handy for servers.

When you click New, a pop-up will appear (Figure 3) where you can add a name, command, set the time/day, enable error logging, and even configure email alerts (which requires an accessible SMPT server).

 

screenshot.

Figure 3: The crontab-ui GUI is very easy to use and offers more options than Zeit.

If you’re wondering which GUI to use, it’s simple:

  • If it’s a desktop, use Zeit.
  • If it’s a server, use crontab-ui.

Both options make scheduling tasks with cron so simple that anyone can do it.

Group Created with Sketch.
TNS DAILY NEWSLETTER Receive a free roundup of the most recent TNS articles in your inbox each day.