Deploying jiacrontab: A Visual Web Interface for Scheduled Tasks
If you have used Windows Task Scheduler or Linux crontab, the term "scheduled task" is likely familiar. Simply put, it refers to executing a task at a set time or looping one or more tasks based on conditions. While crontab on Linux requires command-line operations, jiacrontab allows you to create scheduled tasks via a WEB interface, which is much simpler than using crontab directly.

Main Features of jiacrontab
- Allows setting a timeout for each script; timeout actions can include email notifications to the administrator or forcibly killing the script process.
- Allows setting the maximum concurrency for scripts.
- Manages multiple clients from a single server.
- Each script can be flexibly configured on the server side, such as testing script execution, viewing logs, forcibly killing processes, or stopping scheduled tasks.
- Supports adding script dependencies (cross-server support), with both synchronous and asynchronous execution modes for dependent scripts.
- Provides a user-friendly web interface for easy operation.
- Supports email notifications to multiple users when a script fails.
- Supports persistent tasks with automatic restart configurations upon failure.
- Supports pipe operations.
Operating Principle
- jiacrontab consists of two parts:
serverandclient, which communicate independently via RPC. - Server: Provides a visual interface to the user and schedules multiple clients.
- Client: Implements the scheduling logic and isolates user scripts. By deploying clients on multiple servers, they can be managed centrally by the server. The scheduling format for each script is fully compatible with the standard Linux
crontabconfiguration format.
Installing jiacrontab on Linux
jiacrontab is developed in Golang. The author has provided pre-compiled binary packages for direct download and extraction, making it very convenient to use.
# Install unzip
yum -y install unzip
# Download jiacrontab
wget https://jiacrontab.iwannay.cn/download/jiacrontab-v1.4.5-linux-amd64.zip
# If the download speed is too slow, replace with the xiaoz software library address
wget http://soft.xiaoz.org/linux/jiacrontab-v1.4.5-linux-amd64.zip
# Unzip
unzip jiacrontab-v1.4.5-linux-amd64.zip
# Run the server
cd app/jiacrontab/server
nohup ./jiaserver &> jiaserver.log &
# Run the client
cd app/jiacrontab/client
nohup ./jiaclient &> jiaclient.log &
Open the necessary ports. The jiacrontab server and client listen on ports 20000 - 20003. Use the following commands to allow traffic:
# 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
Then, visit http://IP:20000 to see the jiacrontab WEB interface. The default username is admin and the password is 123456.


Configuration Files
- The server configuration file is located at
server/server.ini, containing settings for username, password, SMTP, etc. It is recommended to modify this. - The client configuration file is located at
client/client.ini, primarily used to modify the default email recipient for alerts. - After modifications, you must kill the corresponding processes and restart them using the
nohupcommand.
Other Notes
- Demo: https://jiacrontab.iwannay.cn/login, Username:
admin, Password:123456 - GitHub Project: https://github.com/iwannay/jiacrontab