青龙定时任务管理面板,支持 Python3、JavaScript、Shell、Typescript 这几种环境,通过它可以方便的管理和运行定时任务(在某个时间执行一段代码),并且只需简单的配置,就可以在各个平台收到任务执行的结果通知
以下是群晖(操作系统7.2)中安装和使用的示例。
安装
首先在 Docker 共享文件夹下创建文件夹 qinglong,docker 文件夹及其子文件夹赋予 Everyone 读写权限。
权限设置:
打开群晖 Container Manager,点击注册表,找到 whyour/qinglong 下载并安装
启动的配置
在浏览器输入 http://nas_local_ip:5700 即可启动,设置初始化的账号和密码即可。
依赖管理
因为我接下来要使用 Python 实现定时任务,需要用到 requests 库,所以需要安装 requests 库的依赖,为了避免出现网络错误,这里设置国内的镜像:
我使用了清华的镜像地址:https://pypi.tuna.tsinghua.edu.cn/simple。
接下来安装依赖,点击依赖管理,创建一个依赖。依赖是基于名称进行添加的,类似 Python pip 命令进行安装:
安装之后界面如下:
编写脚本
建议在线下编写 Python 脚本,测试成功以后在拷贝到面板的脚步管理中。面板提供了几个基于 JavaScript 和 Python 的脚本示例。
创建定时任务
点击定时任务,创建一个使用 Python 脚本的定时任务如下。脚本每 30 分钟运行一次。
青龙面板的定时任务规则为 cron 表达式。cron 表达式最初是由 Unix 操作系统中的 cron 守护进程所使用的一种语法规则,用于设置定时任务。为了方便用户设置定时任务,cron 守护进程引入了一种简单的语法规则,即 cron 表达式。
cron 表达式由 6 个字段组成,第 1 个是秒,第 2 个是分,第 3 个是时,第 4 个是每月的哪日,第 5 个是哪月,第 6 个是每周的周几,数字之间以空格隔开。
- 不限制用 * 号替代
- 定期的时间用 ?替代
- 间隔运行时间用 */ 数字替代
- 同一个时间位多个选项用 “,” 连接,同一个时间位一个区间用 “-” 连接
规则图示:
* * * * * *
- - - - - -
| | | | | |
| | | | | +--- 星期几 (0 - 6) (0表示周日)
| | | | +----- 月份 (1 - 12)
| | | +------- 日期 (1 - 31)
| | +--------- 小时 (0 - 23)
| +----------- 分钟 (0 - 59)
+------------- 秒 (0 - 59)