定时任务管理平台青龙 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-slimimage: whyour/qinglong:debianvolumes:- ./data:/ql/dataports:- "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
, ws@7.4.3
, require
, requests
, date-fns
, ts-md5
, typescript
, json5
, axios@v0.27.2
, 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
相关文章:

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

java多线程相关介绍
1. 线程的创建和启动 在 Java 中创建线程有两种方式。一种是继承 Thread 类并重写其中的 run() 方法,另一种是实现 Runnable 接口并重写其中的 run() 方法。创建完线程对象后,调用 start() 方法可以启动线程。 2. 线程的状态 Java 的线程在不同阶段会处于…...

css复合选择器
交集选择器 紧紧挨着 <template><div><p class"btn">Click me</p><button class"btn" ref"myButton" click"handleClick">Click me</button></div> </template> <style> but…...

USART串口协议
通信接口 •通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统 • 通信协议:制定通信的规则,通信双方按照协议规则进行数据收发 全双工:指通信双方能够同时进行双向通信,一般来说,全双…...

picoctf_2018_shellcode
picoctf_2018_shellcode Arch: i386-32-little RELRO: Partial RELRO Stack: No canary found NX: NX disabled PIE: No PIE (0x8048000) RWX: Has RWX segments32位,啥都没开 这个看着挺大的,直接来个ROPchain,…...

Apache Derby的使用
Apache Derby是关系型数据库,可以嵌入式方式运行,也可以独立运行,当使用嵌入式方式运行时常用于单元测试,本篇我们就使用单元测试来探索Apache Derby的使用 一、使用IDEA创建Maven项目 打开IDEA创建Maven项目,这里我…...

leetcode 图相关的题
图 图相关知识有leetcode207课程表1(有环判断)以及210 课程表2(拓扑排序). 链表遍历 def dfs(n):print(n)dfs(n)二叉树遍历 def dfs(n):print(n)dfs(n.left)dfs(n.right)多叉树遍历 dfs(root) def dfs(n):for node in n.nodes:dfs(node)图遍历 visited [False] * n_node…...

程序员们,我们能工作到65岁吗?
软件开发人员的职业生涯可以持续多久?这是大多数认真考虑成为专业程序员的人不禁想知道的事情。 在谈论这样一个要求很高的职业时,这是一个非常自然的问题。没有人愿意花费数年时间学习一项技能,这些技能将在几年内不再相关,或者当…...

【洛谷 P1996】约瑟夫问题 题解(队列+模拟+循环)
约瑟夫问题 题目描述 n n n 个人围成一圈,从第一个人开始报数,数到 m m m 的人出列,再由下一个人重新从 1 1 1 开始报数,数到 m m m 的人再出圈,依次类推,直到所有的人都出圈,请输出依次出圈人的编号。…...

字符串函数与内存函数讲解
文章目录 前言一、字符串函数1.求字符串长度strlen 2.长度不受限制的字符串函数(1)strcpy(2)strcat(3)strcmp 3.长度受限制的字符串函数(1)strncpy(2)strncat(3)strncmp 4.字符串查找(1)strstr(2)strtok 5.错误信息报告(1)strerror(2)perror 二、内存函数1.memcpy2.memmove3.me…...

c语言系统编程之多进程
程序与进程的区别? 程序是静态的未运行的二进制文件,存储在磁盘中 进程是已经运行的二进制文件,存储在内存中 进程的内存划分图有哪几部分? 堆(存储malloc和calloc出来的空间)、栈(局部变量…...

前端还是后端:探讨Web开发的两大街区
前端还是后端:探讨Web开发的两大街区 一、引言二、两者的对比分析技能要求和专业知识职责和工作内容项目类型和应用领域就业前景和市场需求 三、技能转换和跨领域工作四、全栈开发结语 一、引言 Web开发领域涉及到前端开发和后端开发这两个不同而又互为补充的领域。…...

JavaScript中如何确定this的值?如何指定this的值?
🎀JavaScript中的this 在绝大多数情况下,函数的调用方法决定了this的值(运行时绑定)。this不能在执行期间被赋值,并且在每次函数呗调用时this的值也可能会不同。 🍿如何确定this的值: 在非严格…...

ubuntu下源码编译方式安装opencv
基础条件 ubuntu 20.04 opencv 3.4.3 opencv 源码编译的安装步骤 第一步, 首先clone源码 git clone https://github.com/opencv/opencv.git第二步,依赖包,执行下面的命令 sudo apt-get install build-essential sudo apt-get install cmak…...

spring boot整合常用redis客户端(Jedis、Lettuce、RedisTemplate、Redisson)常见场景解决方案
Java操作redis有三种客户端供选择:Jedis、Lettuce、Redisson。 在实际项目中运用最多的客户端还是Redisson、RedisTemplate;其中RedisTemplate并非是一个新的redis客户端实现,RedisTemplate是Spring Data Redis中提供的封装好的redis操作模板…...

HarmonyOS之运行Hello World
目录 下载与安装DevEco Studio 配置环境 创建项目 认识DevEco Studio界面 运行Hello World 了解基本工程目录 工程级目录 模块级目录...

postgresql数据库|wal日志的开启以及如何管理
一, wal的基本概念 WAL即Write Ahead Log预写式日志,简称wal日志,相当于oracle中的redo日志。只是oracle中redo是固定几个redo日志文件,然后轮着切换去写入。pg中wal日志是动态切换,单个wal日志写满继续写下一个wal日志,连续不断生成wal日志。…...

小波变换学习笔记【1】
【声明】本博客为学习B站视频小波分解与重构所做笔记,供自己和大家查阅学习,想查看 up 原视频请移步 B 站,侵删。 1.1 小波变换的由来 傅里叶变换基本思想:将信号分解成一系列不同频率的连续正弦波的叠加。 其缺点是,…...

雷柏mv20鼠标使用体验
用了1年多,第一次用竖着的鼠标,现在已经很习惯了,感觉还不错。说说使用感受: 1、 仍然是长时间使用鼠标,但是很少出现手腕痛的情况,确实是有一定效果的。 2、使用场景是有限制的,我是配合笔记…...

【分布式云储存】Springboot微服务接入MinIO实现文件服务
文章目录 前言技术回顾准备工作申请accessKey\secretKey创建数据存储桶公共资源直接访问测试 接入springboot实现文件服务依赖引入配置文件MinIO配置MinIO工具类 OkHttpSSLSocketClient兼容ssl静态资源预览解决方案资源上传预览测试测试结果 前言 上篇博客我们介绍了分布式云存…...

机器人中的数值优化|【四】L-BFGS理论推导与延伸
机器人中的数值优化|【四】L-BFGS理论推导与延伸 往期内容回顾 机器人中的数值优化|【一】数值优化基础 机器人中的数值优化|【二】最速下降法,可行牛顿法的python实现,以Rosenbrock function为例 机器人中的数值优化|【三】无约束优化,拟牛…...

ThemeForest – Canvas 7.2.0 – 多用途 HTML5 模板
ThemeForest 上的 HTML 网站模板受到全球数百万客户的喜爱。与包含网站所有页面并允许您在 WP 仪表板中自定义字体和样式的 WordPress 主题不同,这些设计模板是用 HTML 构建的。您可以在 HTML 编辑器中编辑模板,但不能在 WordPress 上编辑模板࿰…...

本地部署 川虎 Chat
本地部署 川虎 Chat 1. 川虎 Chat 项目概述2. Github 地址3. 部署 川虎 Chat4. 配置 config.json5. 启动 川虎 Chat 1. 川虎 Chat 项目概述 为ChatGPT等多种LLM提供了一个轻快好用的Web图形界面和众多附加功能。 支持 GPT-4 基于文件问答 LLM本地部署 联网搜索 Agent 助理…...

IntelliJ IDEA 控制台中文乱码的四种解决方法
前言 IntelliJ IDEA 如果不进行配置的话,运行程序时控制台有时候会遇到中文乱码,中文乱码问题非常严重,甚至影响我们对信息的获取和程序的跟踪。开发体验非常不好。 本文中我总结出四点用于解决控制台中文乱码问题的方法,希望有助…...

23岁准备转行嵌入式
前端难找工作,而且感觉没有前景,我觉得我就算入行也不会干多久,软件开发让我感觉不到实在的东西。小时候喜欢去动手制作一些玩具,我对实在一些的东西感兴趣一些例如手表,小机器人等等一些。我有保持坚持学习下去的动力…...

http请求报错:406 Not Acceptable的解决办法
目录 应用场景 基本概念 解决方法 方法一: 方法二: 方法三: 应用场景 接口在返回结果集的时候出现了406的报错,但是返回String类型不会报错,正常返回。 基本概念 406 Not Acceptable是一个HTTP响应状态码&…...

信息化发展75
数字化治理 数字化治理通常指依托互联网、大数据、人工智能等技术和应用,创新社会治理方法与手段,优化社会治理模式,推进社会治理的科学化、精细化、高效化,助力社会治理现代化。数字化治理是数字经济的组成部分之一,…...

C++八股
1、简述一下C中的多态 在面向对象中,多态是指通过基类的指针或引用,在运行时动态调用实际绑定对象函数的行为,与之相对应的编译时绑定函数称为静态绑定。 静态多态 静态多态是编译器在编译期间完成的,编译器会根据实参类型来选择…...

Nat. Commun. | 大规模高分辨单光子成像
本文由论文作者团队(课题组)投稿 单光子雪崩二极管(Single Photon Avalanche Diode,简称SPAD)阵列因其极佳的单光子灵敏度而受到广泛关注,已广泛应用于量子通信与计算、荧光寿命成像、时间飞行成像等各个领域。与同样具有较高灵敏度的EMCCD和sCMOS相比,SPAD阵列能够在极…...

Android开源库
见:GitHub - eHackyd/Android_OpenSourceLibrary: Android开源库的学习笔记...