Managing time-triggered events with Zeit
Timetable
Zeit offers a graphic front end for the crontab and at tools, making it easier to manage the time-controlled execution of programs, alarms, and timers.
When it comes to managing the time-controlled execution of programs, you can use the entries in the /etc/crontab
file (crontab
) for repetitive tasks scheduled at regular intervals, or you can use the at
command for a one-time action.
While at
uses a kind of order book that stores the commands to be executed at a scheduled time, cron
works somewhat differently. The crontab
contains the entries for the whole system, while the files in /var/spool/cron/crontabs/
contain user-specific entries. Each line in the crontab
fully describes a single job. Care must be taken when specifying the jobs because of the entry format's fairly arcane syntax. You can learn this syntax, but it is by no means a trivial task. If you have an LPIC-1 certificate, you will be familiar with the entry format.
Despite care and attention, you may find out that jobs fail to start or are executed at the wrong time. A graphical user interface (GUI) can help reduce errors, even for experienced users. However, several earlier attempts at a suitable GUI for time-controlled calls (e.g., KCron, Kcrontab, CroMagnon, Gnome Schedule [1], Gnome Task Scheduler [2], and VCron) have fallen short with development coming to a standstill.
Zeit [3], a graphic front end for at
and crontab
, promises to remedy this situation and make managing time-triggered events easier. In development since 2015, Zeit is now considered stable for use and offers both English and Russian versions.
Installation
I tested Zeit v0.6.0 on Debian 11 "Bullseye" without any problems. Currently, Zeit is not included in the official Debian and Ubuntu package sources. However, you can get it via the developer's GitHub repository [4] or an Ubuntu PPA [5].
You have a few options for installing Zeit. You can add the PPA repo by typing apt-add-repository
and installing the packages with the package manager (Listing 1). Because this option is not available on Debian, I took the alternative route of deploying the zeit package provided by the developer. After grabbing the package from the project site, I deployed it to the test system using dpkg
. There were no dependency problems on other packages. If the package libnotify-bin is missing, you can use apt
for the install. When unpacked, Zeit uses about 450KB of disk space.
Listing 1
Installation via a PPA
$ sudo add-apt-repository ppa:blaze/main $ sudo apt update $ sudo apt install zeit
If there are no ready-made packages available for your choice of distribution, you can download the source code from the GitHub repository and compile it. I did not test this step, but there is nothing to prevent you from doing so, if necessary. Zeit uses the Qt libraries; you will need to install the associated development packages on your system to build the software.
User Interface
After installation, you'll find Zeit in the Tools section of your application menu. If you use the command-line approach, you can simply call the program by typing zeit
. Zeit loads with a clear-cut, functional user interface without any bells and whistles.
In the version I used, the four menu headers are Zeit, View, Tools, and Help. Below the menubar you will find six buttons, some of which you cannot enable until you have selected a job from the list in the main window below.
Using the six buttons, you can add, copy, modify, or delete jobs or commands, and control alarms and timers (Figure 1). Right-clicking on a job opens a context menu where you can Toggle, copy, modify, and delete the selected jobs. Please note that Zeit immediately transfers all changes to the respective crontab
or at
table. I recommend creating a backup copy of your crontab
and at
table up front to avoid any nasty surprises later.
Operating Modes
Zeit launches with normal user authorizations and does not require root access. You can initially only manage your own time-controlled jobs. For system-related jobs, you need to check the box in View | System Mode or press Ctrl+S. You can use the same sequence to switch back to the normal user mode later.
You can also choose Periodic Tasks for crontab
, Nonperiodic Commands (one-time jobs) for at
, and Environment Variables for cron
. You can configure this in the View menu or using the respective Ctrl+P, Ctrl+N, and Ctrl+E keyboard shortcuts. The button labels change to Task, Command, or Variable to indicate this, and you can access the content of the corresponding dialog box for fine-tuning.
The commands for at
may require the retroactive installation of the tool; otherwise, your attempts to set up one-time jobs will fail. (You don't have to do this for crontab
because cron
is typically an essential part of any Linux system and usually installed from the outset.) In Debian GNU/Linux, the package is simply named at. You can install it from the standard package sources using apt
.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Systemd Fixes Bug While Facing New Challenger in GNU Shepherd
The systemd developers have fixed a really nasty bug amid the release of the new GNU Shepherd init system.
-
AlmaLinux 10.0 Beta Released
The AlmaLinux OS Foundation has announced the availability of AlmaLinux 10.0 Beta ("Purple Lion") for all supported devices with significant changes.
-
Gnome 47.2 Now Available
Gnome 47.2 is now available for general use but don't expect much in the way of newness, as this is all about improvements and bug fixes.
-
Latest Cinnamon Desktop Releases with a Bold New Look
Just in time for the holidays, the developer of the Cinnamon desktop has shipped a new release to help spice up your eggnog with new features and a new look.
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.
-
SUSE Renames Several Products for Better Name Recognition
SUSE has been a very powerful player in the European market, but it knows it must branch out to gain serious traction. Will a name change do the trick?
-
ESET Discovers New Linux Malware
WolfsBane is an all-in-one malware that has hit the Linux operating system and includes a dropper, a launcher, and a backdoor.
-
New Linux Kernel Patch Allows Forcing a CPU Mitigation
Even when CPU mitigations can consume precious CPU cycles, it might not be a bad idea to allow users to enable them, even if your machine isn't vulnerable.
-
Red Hat Enterprise Linux 9.5 Released
Notify your friends, loved ones, and colleagues that the latest version of RHEL is available with plenty of enhancements.
-
Linux Sees Massive Performance Increase from a Single Line of Code
With one line of code, Intel was able to increase the performance of the Linux kernel by 4,000 percent.