«

webcron 定时任务管理系统

时间:2024-2-21 13:26     作者:韩俊     分类: Linux


webcron

一个定时任务管理器,基于Go语言和beego框架开发。用于统一管理项目中的定时任务,提供可视化配置界面、执行日志记录、邮件通知等功能,无需依赖*unix下的crontab服务。

源项目地址

https://github.com/lisijie/webcron

项目背景

开发此项目是为了解决本人所在公司的PHP项目中定时任务繁多,使用crontab不好管理的问题。我所在项目的定时任务也是PHP编写的,属于整个项目的一部分,我希望能有一个系统可以统一配置这些定时任务,并且可以查看每次任务的执行情况,任务执行完成或失败能够自动邮件提醒开发人员,因此做了这个项目。

功能特点

统一管理多种定时任务。

秒级定时器,使用crontab的时间表达式。

可随时暂停任务。

记录每次任务的执行结果。

执行结果邮件通知。

界面截图

webcron 定时任务管理系统

安装说明

1、下载定时管理器

$ cd /opt

$ sudo go get github.com/lisijie/webcron

$ cd  go/src

$ sudo git clone https://github.com/lisijie/webcron.git

2、创建数据库

$ mysql -uroot -p

mysql > create database webcron;

mysql > exit;

3、导入数据

$ cd /opt/go/src/webcron

$ mysql -uroot -p -D webcron < ./install.sql

4用go build编译一个可执行文件webcron

$ cd /opt/go/src/webcron

$ go build

5、修改配置文件app.conf

$ sudo vim /opt/go/src/webcron/conf/app.conf

appname = webcron

httpport = 8000

runmode = dev

# 允许同时运行的任务数

jobs.pool = 10

# 站点名称

site.name = 定时任务管理器

# 数据库配置

db.host = 127.0.0.1

db.user = root

db.password = "123456"

db.port = 3306

db.name = webcron

db.prefix = t_

db.timezone = Asia/Shanghai

# 邮件服务器配置

mail.queue_size = 100

mail.from = "test@test.com"

#以下表示接收信息的是企业邮箱,个人邮箱则设为:smtp.qq.com

mail.host = "smtp.exmail.qq.com"

mail.port = 25 mail.user = "test@test.com"

mail.password = "123456"

6、运行webcon

$ ./webcron

$ nohup ./webcron 2>&1 > error.log & 

7、添加开机启动

# 编写启动脚本

$ vim /apt/webcron.sh

#!/bin/bash

cd /opt/go/src/webcron/ && go build

chmod +x /opt/go/src/webcron/webcron

/opt/go/src/webcron/webcron &

# 设置可执行权限

$ sudo chmod +x /apt/webcron.sh

# 添加开机启动

$ sudo vim /etc/rc.local

/bin/bash /apt/webcron.sh &

标签: linux

热门推荐