当前位置: 首页 > news >正文

定时任务管理平台青龙 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 多语言的定时任务管理平台&#xff0c;支持在线管理脚本和日志等。其功能丰富&#xff0c;能够满足大部分需求场景&#xff0c;值得一试。 主要功能 支持多种脚本语言&#xf…...

java多线程相关介绍

1. 线程的创建和启动 在 Java 中创建线程有两种方式。一种是继承 Thread 类并重写其中的 run() 方法&#xff0c;另一种是实现 Runnable 接口并重写其中的 run() 方法。创建完线程对象后&#xff0c;调用 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串口协议

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

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位&#xff0c;啥都没开 这个看着挺大的&#xff0c;直接来个ROPchain&#xff0c;…...

Apache Derby的使用

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

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岁吗?

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

【洛谷 P1996】约瑟夫问题 题解(队列+模拟+循环)

约瑟夫问题 题目描述 n n n 个人围成一圈&#xff0c;从第一个人开始报数,数到 m m m 的人出列&#xff0c;再由下一个人重新从 1 1 1 开始报数&#xff0c;数到 m m m 的人再出圈&#xff0c;依次类推&#xff0c;直到所有的人都出圈&#xff0c;请输出依次出圈人的编号。…...

字符串函数与内存函数讲解

文章目录 前言一、字符串函数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语言系统编程之多进程

程序与进程的区别&#xff1f; 程序是静态的未运行的二进制文件&#xff0c;存储在磁盘中 进程是已经运行的二进制文件&#xff0c;存储在内存中 进程的内存划分图有哪几部分&#xff1f; 堆&#xff08;存储malloc和calloc出来的空间&#xff09;、栈&#xff08;局部变量…...

前端还是后端:探讨Web开发的两大街区

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

JavaScript中如何确定this的值?如何指定this的值?

&#x1f380;JavaScript中的this 在绝大多数情况下&#xff0c;函数的调用方法决定了this的值&#xff08;运行时绑定&#xff09;。this不能在执行期间被赋值&#xff0c;并且在每次函数呗调用时this的值也可能会不同。 &#x1f37f;如何确定this的值&#xff1a; 在非严格…...

ubuntu下源码编译方式安装opencv

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

spring boot整合常用redis客户端(Jedis、Lettuce、RedisTemplate、Redisson)常见场景解决方案

Java操作redis有三种客户端供选择&#xff1a;Jedis、Lettuce、Redisson。 在实际项目中运用最多的客户端还是Redisson、RedisTemplate&#xff1b;其中RedisTemplate并非是一个新的redis客户端实现&#xff0c;RedisTemplate是Spring Data Redis中提供的封装好的redis操作模板…...

HarmonyOS之运行Hello World

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

postgresql数据库|wal日志的开启以及如何管理

一&#xff0c; wal的基本概念 WAL即Write Ahead Log预写式日志,简称wal日志,相当于oracle中的redo日志。只是oracle中redo是固定几个redo日志文件,然后轮着切换去写入。pg中wal日志是动态切换,单个wal日志写满继续写下一个wal日志&#xff0c;连续不断生成wal日志。&#xf…...

小波变换学习笔记【1】

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

雷柏mv20鼠标使用体验

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

【分布式云储存】Springboot微服务接入MinIO实现文件服务

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

Shell脚本新手必看:6种方法彻底解决Undefined Variable报错(附代码示例)

Shell脚本变量报错终极指南&#xff1a;从根源解决Undefined Variable问题 在Linux系统管理和自动化运维中&#xff0c;Shell脚本是不可或缺的工具。但许多初学者在编写脚本时&#xff0c;经常会遇到"Undefined Variable"这类看似简单却令人头疼的报错。这种错误不仅…...

反激式电源设计避坑指南:如何优化5V/2A方案的EMI和效率

反激式电源设计避坑指南&#xff1a;如何优化5V/2A方案的EMI和效率 在中小功率电源设计中&#xff0c;反激式拓扑凭借结构简单、成本低廉的优势占据主流地位。但当工程师面对5V/2A这类常见规格时&#xff0c;往往会陷入效率卡在65%难以提升、EMI测试屡次失败的困境。本文将从实…...

协议数采网关在智慧水务场景中的应用与功能

水资源管理作为生态文明建设的关键组成部分&#xff0c;其重要性不言而喻。在智慧水务建设不断深化的当下&#xff0c;水质监测、水量调度以及设备运维等各个环节&#xff0c;都对智能化水平提出了更为严苛的要求。然而&#xff0c;当前水务行业面临着诸多难题&#xff0c;监测…...

EcomGPT-7B多语言能力:俄语商品→自动适配Wildberries平台标题规则

EcomGPT-7B多语言能力&#xff1a;俄语商品→自动适配Wildberries平台标题规则 1. 引言&#xff1a;跨境电商的本地化难题 如果你正在做俄罗斯电商&#xff0c;或者想把商品卖到Wildberries平台&#xff0c;一定遇到过这个头疼的问题&#xff1a;怎么把中文的商品信息&#x…...

Wan2.2-I2V-A14B生产环境部署:Nginx反向代理与Docker Compose编排

Wan2.2-I2V-A14B生产环境部署&#xff1a;Nginx反向代理与Docker Compose编排 1. 部署目标与前置准备 在开始之前&#xff0c;我们先明确这次部署要实现的目标&#xff1a;通过Docker Compose编排Wan2.2-I2V-A14B模型服务及其依赖组件&#xff0c;使用Nginx作为反向代理&…...

Phi-3 Forest Laboratory日志分析与监控方案:使用Prometheus与Grafana

Phi-3 Forest Laboratory日志分析与监控方案&#xff1a;使用Prometheus与Grafana 你是不是也遇到过这种情况&#xff1f;部署好的Phi-3 Forest Laboratory模型服务&#xff0c;用着用着突然变慢了&#xff0c;或者干脆没响应了。用户抱怨&#xff0c;自己却一头雾水&#xff…...

智能AI识别之集装箱缺陷识别 集装箱数据集 集装箱缺陷数据集 集装箱凹陷数据集 集装箱锈蚀孔洞图像数据集 yolo数据集地10624期

&#x1f4e6; 集装箱缺陷检测计算机视觉模型&#xff08; 这是一个基于 YOLOv8/YOLOv10 框架的工业级目标检测模型&#xff0c;专门用于识别集装箱表面的三类典型缺陷。&#x1f50d; 核心信息 模型类型&#xff1a;目标检测&#xff08;Object Detection&#xff09;基础框架…...

Java面试高频:阿里真实面试题——Redis分布式锁实现(3分钟速通,不会直接挂)

一、真实面试场景&#xff08;代入感拉满&#xff09; 上周&#xff0c;一个候选人来面试阿里P6。 技术面已经过了两轮&#xff0c;表现都不错。 最后一轮&#xff0c;面试官只问了一个问题&#xff1a; “你们项目里用过Redis分布式锁吗&#xff1f;怎么实现的&#xff1f;…...

Python爬虫赋能丹青识画:自动化构建艺术图像数据集

Python爬虫赋能丹青识画&#xff1a;自动化构建艺术图像数据集 每次看到那些能精准识别画作风格、作者甚至创作年代的AI应用&#xff0c;你是不是也好奇它们是怎么“学”出来的&#xff1f;答案很简单&#xff1a;喂给它海量的、高质量的“教材”——也就是艺术图像数据集。但…...

实战指南:在Altera FPGA上配置AES256加密的完整流程与避坑要点

1. 为什么要在FPGA上配置AES256加密&#xff1f; 最近有个做工业控制的朋友找我吐槽&#xff0c;说他们竞争对手居然直接复制了他们的FPGA程序&#xff0c;改个LOGO就当成自己的产品卖。这种事情在嵌入式领域其实很常见&#xff0c;特别是使用Altera&#xff08;现在属于Intel&…...