查看原文
其他

开源 5k star 的定时任务管理系统,我爱了!

IT服务圈儿 2023-02-06

The following article is from Python进击者 Author Kuls

来源丨经授权转自 Python进击者(ID:JAVAandPythonJun)

作者丨Kuls


最近K哥的交流群里有读者分享了一款非常不错的定时任务管理系统。

K哥也去玩了一下,真的非常不错。

可能有些小伙伴还不知道有啥用,其实很简单,可以举个简单的小例子。

例如我们想要保证系统某个软件一直是最新版本,那么我们可以写一个更新脚本每天早上8点执行。

这个定时任务管理系统就可以自动帮我们在某一个时间点执行相应的脚本。

这时候可能就有人想,那我是不是可以用脚本每次定时去抢xxx。

K哥只能说,脚本写得好,坐牢坐得早 [狗头],不要太猖狂了。

好了,下面K哥给大家介绍一下这款开源系统:

名字叫做青龙面板

开源地址我放在文末了。

功能:

•支持多种脚本语言(python3、javaScript、shell、typescript)•支持在线管理脚本、环境变量、配置文件•支持在线查看任务日志•支持秒级任务设置•支持系统级通知•支持暗黑模式•支持手机端操作

以上是官方给出的基本功能。

可以看到支持的脚本语言还是挺多的,使用率高的基本上都覆盖了。

下面来给大家讲讲如何安装:

这里K哥推荐大家使用docker进行安装,没有安装docker的朋友,先去谷歌一下xxx系统如何安装docker。

安装好了docker之后,我们执行:

docker pull whyour/qinglong:latest

把镜像拉下来后,我们再执行:

docker run -dit \
  -v $PWD/ql/config:/ql/config \
  -v $PWD/ql/log:/ql/log \
  -v $PWD/ql/db:/ql/db \
  -v $PWD/ql/repo:/ql/repo \
  -v $PWD/ql/raw:/ql/raw \
  -v $PWD/ql/scripts:/ql/scripts \
  -p 5700:5700 \
  --name qinglong \
  --hostname qinglong \
  --restart unless-stopped \
  whyour/qinglong:latest

该系统也支持docker-compose 部署

docker-compose 安装

sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

启动容器

mkdir qinglong
wget https://raw.githubusercontent.com/whyour/qinglong/master/docker-compose.yml

# 启动
docker-compose up -d
# 停止
docker-compose down

执行完成之后,我们可以打开http://localhost:5700 (注意这里的端口以你系统提示为准)

打开后是一个初始化系统的页面

我们还可以配置相关的消息提醒,支持钉钉、企业微信、邮件等形式的提醒。

成功设置之后,这就是我们的一个页面。

关于这个系统,开发者还开发了一些自带的命令:

# 更新并重启青龙
ql update                                                    
# 运行自定义脚本extra.sh
ql extra                                                     
# 添加单个脚本文件
ql raw <file_url>                                             
# 添加单个仓库的指定脚本
ql repo <repo_url> <whitelist> <blacklist> <dependence> <branch>   
# 删除旧日志
ql rmlog <days>                                              
# 启动tg-bot
ql bot                                                       
# 检测青龙环境并修复
ql check                                                     
# 重置登录错误次数
ql resetlet                                                  
# 禁用两步登录
ql resettfa                                                  

# 依次执行,如果设置了随机延迟,将随机延迟一定秒数
task <file_path>                                             
# 依次执行,无论是否设置了随机延迟,均立即运行,前台会输出日,同时记录在日志文件中
task <file_path> now                                         
# 并发执行,无论是否设置了随机延迟,均立即运行,前台不产生日,直接记录在日志文件中,且可指定账号执行
task <file_path> conc <env_name> <account_number>(可选的) 
# 指定账号执行,无论是否设置了随机延迟,均立即运行 
task <file_path> desi <env_name> <account_number>         

详细的命令大家可以前往开源地址查看!

如何使用呢?

首先我们在脚本管理中编写一个简单的Python脚本。

例如

然后,我们再去定时任务中新增一个定时任务,命令我们直接 task 脚本路径,定时规则就是corn表达式,大家直接百度在线转换就行啦 。

好啦!大体的介绍到这里差不多结束了,K哥最后还是提醒大家一句,不要拿来干违法的事情!

最后,开源地址在这:https://github.com/whyour/qinglong

1、空间数据可视化神器,Pydeck!

2、尤大深夜宣布:Vue 3 将成为新的默认版本!

3、全世界超过43%的网站居然都是这样搭建的!

4、开源项目,真的安全么?别傻了

5、浏览器里都可以直接聊天,这个开源项目有点牛逼!

点分享

点点赞

点在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存