定时任务管理平台青龙 QingLong

一、关于 QingLong

1.1 QingLong 介绍

青龙面板是支持 Python3、JavaScript、Shell、Typescript 多语言的定时任务管理平台,支持在线管理脚本和日志等。其功能丰富,能够满足大部分需求场景,值得一试。

主要功能

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

官方网站

  • Github:https://github.com//whyour/qinglong

1.2 QingLong 部署

  • 下载镜像

从 docker hub 拉取 QingLong 镜像,地址:https://hub.docker.com/r/whyour/qinglong:debian。latest 镜像是基于 alpine 构建,debian 镜像是基于 debian-slim 构建,我们这里使用使用 debian 镜像。

root@hcss-ecs-f632:~# docker pull whyour/qinglong:debian
debian: Pulling from whyour/qinglong
7dbc1adf280e: Pull complete
4171d440ff02: Pull complete
726c5fb7508b: Pull complete
379fa4960c82: Pull complete
2f8a564c8167: Pull complete
8fa76ed50e52: Pull complete
c2f831f6682a: Pull complete
9f3ce2a7a342: Pull complete
4c53dfc2225f: Pull complete
e2cc0890f949: Pull complete
4f4fb700ef54: Pull complete
Digest: sha256:6e7e533d6212c86448fa9c0171373a095b76102bb5096c68aebfb85d04f0a06a
Status: Downloaded newer image for whyour/qinglong:debian
docker.io/whyour/qinglong:debian
  • 启动服务

通过docker-compose方式启动,配置文件 docker-compose.yml 直接从官方获取

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

docker-compose.yml 文件如下

version: '2'
services:
 web:
   # debian-slim
   image: whyour/qinglong:debian
   volumes:
     - ./data:/ql/data
   ports:
     - "0.0.0.0:5700:5700"
   environment:
     QlBaseUrl: '/'
   restart: unless-stopped

# 启动
root@hcss-ecs-f632:~/qinglong# docker-compose up -d
Creating network "qinglong_default" with the default driver
Creating qinglong_web_1 ... done
# 停止
root@hcss-ecs-f632:~/qinglong# docker-compose down
  • 检查容器状态

检查qinglong容器状态,确保容器正常启动

root@hcss-ecs-f632:~/qinglong# docker ps
CONTAINER ID   IMAGE                        COMMAND                  CREATED      STATUS                 PORTS                                                 NAMES
b905dc7ef47c   whyour/qinglong:debian       "./docker/docker-ent…"   2 days ago   Up 2 hours (healthy)   0.0.0.0:5700->5700/tcp                                qinglong_web_1
  • 访问地址

内网:http://localhost:5700
外网:http://公网IP:5700

  • 访问结果

在这里插入图片描述
若出现此页面,则部署青龙面板成功。

1.3 QingLong 使用

  • 基础设置与配置

账户设置:设置用户名和密码,用于后续访问
在这里插入图片描述

通知设置:用于获取脚本运行情况,支持多种通知方式,如钉钉机器人、企业微信机器人等
在这里插入图片描述

完成安装
在这里插入图片描述

登录:输入用户名和密码即可登录青龙面板
在这里插入图片描述

  • 依赖管理:安装nodejs、python、linux依赖

创建依赖,选择依赖类型和依赖名称即可自动安装
在这里插入图片描述

nodejs 常用依赖
axios, request, cheerio, js-base64, dotenv, magic, tough-cookie, [email protected], require, requests, date-fns, ts-md5, typescript, json5, [email protected], crypto-js, @types/node, png-js, node-telegram-bot-api, fs, jsdom, form-data, jieba, tslib, ds, jsdom -g, prettytable, ql, common, node-jsencrypt, juejin-helper, moment, global-agent

python 常用依赖
rsa, bs4, telethon, cacheout, jieba, PyExecJS, ping3, canvas, Crypto, ds, requests, pycryptodome

linux 常用依赖
libc-dev, gcc, g++, libffi-dev, python3-dev

在这里插入图片描述

  • 进阶玩法设置

获取京东脚本库命令行(脚本库来自:https://github.com/shufflewzc/faker2)

ql repo https://ghproxy.com/https://github.com/shufflewzc/faker2.git "jd_|jx_|getJDCookie" "activity|backUp" "^jd[^_]|USER|ZooFaker_Necklace"

创建任务,命令/脚本 填入上诉命令行即可,定时规则分 时 天 月 周,如输入1 0 * * *,表示每天的 00:01 自动运行脚本。
在这里插入图片描述

当然你也可以手动运行脚本,还可以查看脚本运行日志,运行此faker集合仓库就会下载很多京东相关的脚本,如领京豆签到、领京豆签到等任务。
在这里插入图片描述
使用京东相关的脚本,需要配置环境变量,名称填入JD_COOKIE填入pt_koken=xxx;pt_key=xxx;pt_pin=xxx;

在这里插入图片描述

关于值的获取:浏览器输入m.jd.com,完成登录,在Cookie中搜索关键词pt_,即可得到三个值,按上诉格式填入即可。
(注意:此值不可泄漏)
在这里插入图片描述
完成以上配置后就可以尝试运行一些脚本,比如领京豆签到,更多玩法就需要自己探索了!
在这里插入图片描述

  • 自定义脚本开发

内置命令

# 更新并重启青龙
ql update                                                    
# 运行自定义脚本extra.sh
ql extra                                                     
# 添加单个脚本文件
ql raw <file_url>                                             
# 添加单个仓库的指定脚本
ql repo <repo_url> <whitelist> <blacklist> <dependence> <branch> <extensions>
# 删除旧日志
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>      
# 设置任务超时时间   
task -m <max_time> <file_path>
# 实时打印任务日志,创建定时任务时,不用携带此参数
task -l <file_path>

参数说明

  • file_url: 脚本地址
  • repo_url: 仓库地址
  • whitelist: 拉取仓库时的白名单,即就是需要拉取的脚本的路径包含的字符串,多个竖线分割
  • blacklist: 拉取仓库时的黑名单,即就是需要拉取的脚本的路径不包含的字符串,多个竖线分割
  • dependence: 拉取仓库需要的依赖文件,会直接从仓库拷贝到scripts下的仓库目录,不受黑名单影响,多个竖线分割
  • extensions: 拉取仓库的文件后缀,多个竖线分割
  • branch: 拉取仓库的分支
  • days: 需要保留的日志的天数
  • file_path: 任务执行时的文件路径
  • env_name: 任务执行时需要并发或者指定时的环境变量名称
  • account_number: 任务执行时指定某个环境变量需要执行的账号序号
  • max_time: 超时时间,后缀"s"代表秒(默认值), "m"代表分, "h"代表小时, "d"代表天

相关参考
https://zhuanlan.zhihu.com/p/651405749?utm_id=0
https://www.cnblogs.com/xingxia/p/crontab_qinglong.html
https://www.cnblogs.com/coderxx/archive/2021/12/03/15636214.html
https://www.loncons.com/116520.html
青龙面板仓库合集(不断更新)
https://blog.csdn.net/liu52365/article/details/121233533
http://blog.02868.cn/?id=37962&eqid=c6a499f10015f070000000046471fd08

猜你喜欢

转载自blog.csdn.net/weixin_44008788/article/details/133279510