什么是青龙面板 ?
青龙面板
是支持Python3
、JavaScript
、shell
、Typescript
的定时任务管理平台。
青龙面板从功能上看,和群晖的 计划任务
很像,都可以定时执行一个任务,并发送通知,只是青龙面板更强大一些。
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 whyour
,选择第一个 whyour/qinglong
,版本选择 latest
。
本文折腾时,
latest
版本对应为2.15.17
;本文发布时,最新版本已为2.16.2
卷
在 docker
文件夹中,创建一个新文件夹 qinglong
,并在其中建一个子文件夹 data
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/qinglong/data |
/ql/data |
存放数据库、脚本、日志等 |
端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 |
---|---|
5700 |
5700 |
默认没有暴露端口
需要我们点 +
号自行添加
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
# 新建文件夹 qinglong 和 子目录
mkdir -p /volume1/docker/qinglong/data
# 进入 qinglong 目录
cd /volume1/docker/qinglong
# 运行容器
docker run -d \
--restart unless-stopped \
--name qinglong \
--hostname qinglong \
-p 5700:5700 \
-v $(pwd)/data:/ql/data \
whyour/qinglong:latest
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3'
services:
qinglong:
image: whyour/qinglong:latest
container_name: qinglong
hostname: qinglong
restart: unless-stopped
ports:
- 5700:5700
volumes:
- ./data:/ql/data
然后执行下面的命令
# 新建文件夹 qinglong 和 子目录
mkdir -p /volume1/docker/qinglong/data
# 进入 qinglong 目录
cd /volume1/docker/qinglong
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
第一次运行需要点时间,当你在日志中看到 容器启动成功
时,表明容器已经开始可以接受访问了
在浏览器中输入 http://群晖IP:5700
,第一次运行会有初始化向导
设置用户和密码
设置通知方式,很多已经介绍过,像 Gotify
、PushDeer
、Bark
等
老苏选择了 Server酱
,每天有 5
条免费的微信通知
但这里保存会报错,只能跳过,不知道是不是这个版本的 Bug
但也不是在 系统设置
--> 通知设置
中设置,因为这里设置,只能收到测试通知和设备登录消息,任务执行的通知还是收不到
只有在 配置文件
中设置才能收到任务执行的日志消息
总之设置还是很简单的
设置完成后可以登录了
下面是登录成功后的主界面
阿里云盘签到
直接介绍功能可能不好理解,正好老苏在研究怎么给阿里云盘自动签到,开始是准备用 docker
的,但是需要自己编译,所以干脆还是用 青龙面板
来解决吧
获取 refresh_Token
本章节图片来自:https://github.com/mrabit/aliyundriveDailyCheck
- 方法一:自动获取:
网页上登录阿里云盘后,控制台粘贴JSON.parse(localStorage.token).refresh_token
- 方法二:手动获取
网页上登录阿里云盘后,可以在开发者工具 -> Application
-> Local Storage
中的 token
字段中找到。
注意:不是复制整段
JSON
值,而是JSON
里refresh_token
字段的值,如下图所示红色部分:
添加依赖项
进入左侧菜单 --> 依赖管理
--> 新建依赖
- 依赖类型:默认的
nodejs
- 名称:手动添加
axios
安装完成后,状态会有提示
新建应用
从后面的设置上,没看到哪里使用了生成的
Client ID
和Client Secret
,但从qlApi.js
看似乎有用到,官方的说明是用于自动更新环境变量内refreshToken
配置的,所以这一步可能还是需要的
进入左侧菜单 --> 系统设置
-> 应用设置
-> 新建应用
- 名称:中英文都是可以的;
- 权限:选择
环境变量
成功后会看到生成了 Client ID
和 Client Secret
添加环境变量
进入左侧菜单 --> 环境变量
--> 新建变量
- 名称:都是用于标识的,自己知道就行
- 值:填入前面获取到的阿里云盘的
refresh_token
,如果你有多个账号,直接回车换行 ,输入另一个即可
创建成功之后
添加订阅
进入左侧菜单 --> 订阅管理
--> 新建订阅
可以在 名称
中直接粘贴下面的命令行
# 命令/脚本
ql repo https://github.com/mrabit/aliyundriveDailyCheck.git "autoSignin" "" "qlApi"
然后再调整几个必填项:
名称
:可以改了容易识别的,比如:阿里云盘签到
;链接
:国内用户,可以挂个代理:将https://github.com/mrabit/aliyundriveDailyCheck.git
改为https://ghproxy.com/github.com/mrabit/aliyundriveDailyCheck.git
;唯一值
:不用管,默认生成的就可以;定时类型
:用默认的crontab
就可以;定时规则
:这是更新订阅上面github
上代码的时间,比如 :0 0 3 * * ?
,表示明天凌晨3
点检查更新
关于
定时规则
,可以看这两篇文
- 青龙面板之定时任务cron表达式的填写规则(https://lcl101.cn/archives/123)
- 青龙面板定时规则解析,Cron 两张语法表达式(http://ttsqq.top/3415.html)
需要手动运行一次,直接点 运行
按钮
执行的日志
进入左侧菜单 --> 定时任务
点 运行
按钮后,查看日志
参考文档
whyour/qinglong: 支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台(Timed task management platform supporting Python3, JavaScript, Shell, Typescript)
地址:https://github.com/whyour/qinglong
mrabit/aliyundriveDailyCheck: 阿里云盘每日签到脚本 青龙面板支持
地址:https://github.com/mrabit/aliyundriveDailyCheck