jiacrontab 2.x Released: A Simple and Reliable Task Management Tool with Second-Level Scheduling

jiacrontabcrontab toolsecond-level schedulinggolang cronvisual task management
Published·Modified·

jiacrontab is a cron task management tool written in Golang. In the article [Using jiacrontab to Build a Visual Cron Task System](Using jiacrontab to Build a Visual Cron Task System), the 1.4x version of jiacrontab was introduced. After continuous efforts by the author, the 2.x version has been completed, offering more powerful features and a more beautiful interface. If you are still looking for a visual cron task tool, jiacrontab 2.x is an excellent choice.

jiacrontab 2.x Overview

The software architecture of jiacrontab 2.x has changed slightly, as detailed below:

  • jiacrontab consists of two parts: jiacrontab_admin and jiacrontabd, which communicate completely independently via RPC.
  • jiacrontab_admin: Provides the web operation interface for the management backend.
  • jiacrontabd: Responsible for job data storage and task scheduling.

Installing jiacrontab 2.x

Officially compiled binary files for jiacrontab are available at: https://jiacrontab.iwannay.cn/download/. However, the official download address is too slow, so we recommend using the Xiaoz blog software repository for installation.

# Download jiacrontab
wget http://soft.xiaoz.org/linux/jiacrontab-v2.0.3-linux-amd64.zip
# Unzip
unzip jiacrontab-v2.0.3-linux-amd64.zip
# Enter the jiacrontab_admin directory
cd jiacrontab_admin
# Run jiacrontab_admin
nohup ./jiacrontab_admin &> jiacrontab_admin.log &
# Enter the jiacrontabd directory
cd jiacrontabd
# Run jiacrontabd
nohup ./jiacrontabd &> jiacrontabd.log &

Open the necessary ports. The jiacrontab server and client listen on ports 20000 to 20003. Use the following commands to allow access:

# Allow ports via firewalld
firewall-cmd --zone=public --add-port=20000-20003/tcp --permanent
firewall-cmd --reload
# If using iptables
iptables -I INPUT -p tcp --dport 20000 -j ACCEPT
iptables -I INPUT -p tcp --dport 20001 -j ACCEPT
iptables -I INPUT -p tcp --dport 20002 -j ACCEPT
iptables -I INPUT -p tcp --dport 20003 -j ACCEPT
iptables save
service iptables restart

Initializing jiacrontab 2.x

Access http://IP:2000 to view the web interface. On the first visit, set the username, password, and email address, then follow the prompts to complete initialization and log in to the backend.

Nginx Reverse Proxy

If you prefer not to access the service via http://IP:2000 (IP + port), you can use Nginx reverse proxy to access it via a domain name. Below is the Nginx reverse proxy configuration for jiacrontab used by Xiaoz, for reference only.

server
    {
    listen 80;
    server_name     cron.ttt.sh;

    charset utf-8,gbk;
    location / {
        proxy_pass http://127.0.0.1:20000;
        proxy_redirect off;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

Changes in jiacrontab 2.x

Compared to version 1.4x, jiacrontab 2.x features a cleaner interface, more functional options, and support for second-level scheduling. This makes jiacrontab 2.x very convenient for tasks that require precision down to the second.

Summary

jiacrontab is suitable for Linux operations personnel or site owners familiar with Linux commands; otherwise, it may be unclear what jiacrontab does. There are more unique features in jiacrontab that you can explore on your own.