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

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:
1 2 3 |
sudo add-apt-repository ppa:blaze/main sudo apt-get update sudo apt-get install zeit -y |
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).

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:
1 2 3 4 5 6 7 |
<i>sudo apt-get install git qtbase5-dev qttools5-dev libkf5auth-dev libkf5coreaddons-dev extra-cmake-modules -y </i><i>git clone </i><a href="https://github.com/loimu/zeit.git"><i>https://github.com/loimu/zeit.git </i></a> <i>cd zeit </i><i>mkdir build && cd build </i><i>cmake .. </i><i>make -j2 </i><i>./src/zeit</i> |
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:
1 |
sudo apt-get install nodejs npm -y |
On Fedora-based distributions, the command is:
1 |
sudo dnf install nodejs -y |
Finally, to install crontab-ui, issue the following command:
1 |
npm install crontab-ui |
Accessing the UI
To access this web-based UI, you first have to start the service with the command:
1 |
sudo HOST=SERVER_IP PORT=PORT_NUMBER crontab-ui |
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:
1 |
sudo HOST=192.168.1.138 PORT=8000 crontab-ui |
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:
1 |
<i>192.168.1.138:8000</i> |
You should see the crontab-ui web page (Figure 2), where you can click New to create your first cron job.

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).

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.