ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

青龙面板部署教程:Docker 启动多语言定时任务,配好脚本、环境变量与通知

青龙面板部署教程:Docker 启动多语言定时任务,配好脚本、环境变量与通知 青龙面板部署教程Docker 启动多语言定时任务配好脚本、环境变量与通知【免费下载链接】qinglong支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台Timed task management platform supporting Python3, JavaScript, Shell, Typescript项目地址: https://gitcode.com/GitHub_Trending/qi/qinglong服务器上散落的脚本、各写各的 crontab、密钥硬编码在文件里——青龙面板把这类定时任务收进一个网页里统一管理Python3、JavaScript、Shell、TypeScript 脚本可以在线编辑配好环境变量和 cron 规则跑完的日志、失败的通知都能在面板里看到。下面按「先确认需求 → 用 Docker 跑起来 → 把常用功能用起来 → 避开常见坑」的顺序走一遍都是能直接照着做的内容。先看你有没有这几类需求在装之前先对一下号避免装了用不上。青龙解决的其实是三件很具体的事。一是服务器上的定时活儿越来越多备份、清理、报表分散在系统 crontab 里想集中到一处看、一处改。二是手里有一批脚本要跑但每个脚本各要各的 token、key写在代码里既不安全也不方便改。三是任务跑在一台没人的机器上成功失败没人知道等发现时已经漏了好几天。如果你的场景更接近「本地临时跑个小脚本」或者「只要系统自带的 crontab 就够」那青龙可能是重了点直接用系统调度就行。它更适合脚本数量多、需要在线维护和通知的常驻服务。Docker 启动青龙两分钟看到面板Docker 是最省事的路不用自己备环境拉个镜像起个容器就行。官方镜像latest基于 Alpinedebian标签基于 debian-slim。拉镜像并起容器在机器上执行docker pull whyour/qinglong:latest docker run -d -v /path/to/ql/data:/ql/data -p 5700:5700 --name qinglong whyour/qinglong:latest把/path/to/ql/data换成你在宿主机上存数据的目录它会被挂到容器内的/ql/data。青龙所有运行时数据都落在这个目录里后面备份也靠它。端口固定映射 5700。如果你要用非 root 用户跑容器请改用whyour/qinglong:debian镜像并加上--user qinglong因为 Alpine 的 crond 需要 root 权限Debian 镜像对非 root 更友好。不想手动写 run 参数也可以直接复用仓库里现成的 compose 文件cd qinglong/docker后执行docker-compose up -d它已经把数据卷和 5700 端口都配好了。首次打开完成初始化浏览器打开 http://127.0.0.1:5700。第一次进入会先让你设置管理员账号和口令这一步相当于初始化。设置完再重新登录就进正式面板了。如果你偏好在裸机上从源码跑也可以但要先自备 Node、Python3 等依赖并配置好环境变量步骤比 Docker 麻烦一般只有本地调试或做二次开发才值得走这条路可参考仓库里的 docs/PROJECT_ARCHITECTURE.md。装好之后按顺序把功能用起来面板起来不等于能干活。下面按建议的使用顺序走每一步都依赖上一步。先建脚本和定时任务脚本是核心。你可以在线新建一个脚本文件选对应语言后缀即可也可以在左侧直接管理已上传的脚本文件。写好后给它挂一条 cron 规则——青龙除了常规 crontab 表达式还支持秒级调度适合需要按秒触发的场景。建完可以先手动跑一次确认脚本和依赖没问题再交给定时规则自动触发。环境变量这样配更省心把 key、token、库连接串这类敏感信息从代码里挪到「环境变量」里按脚本分配。这样改配置不用动代码脚本里也能直接读到。需要批量整理时参考仓库里的 sample/config.sample.sh 就能看懂配置项的写法里面有拉取脚本规则、超时时间、随机延迟等字段。日志和通知别漏配每跑一次任务日志都会存下来可以在面板里按脚本和关键词检索出问题时先翻日志。再配一条系统级通知把任务失败或资源告警推到你常用的渠道机器上没人盯着也能第一时间知道。容易卡住的几个地方这几个点是实际跑起来最常踩的提前知道能省不少排查时间。非 root 跑 Docker 报权限问题多半是用了 Alpine 镜像。换debian标签并带--user qinglong就能解决这是镜像特性不是配置错了。误以为删了脚本就干净了。数据、日志、脚本、数据库全在data目录容器内是/ql/data真正的备份就是备份这个目录。恢复时把目录挂回去即可。用久了面板变慢、日志越攒越大。底层是 SQLite 单文件加不断累积的任务日志定期清理历史日志、控制日志保留时长比优化数据库索引更有效。任务并发、跑太久想限制这类行为由配置项控制比如任务超时时间、是否随机延迟启动都在 config.sh 里调不用改代码。关于青龙最常被问的几件事它到底支持哪些操作系统服务端对 Linux 最友好Debian、Ubuntu、Alpine 都行macOS、Windows 也能跑但生产环境建议放 Linux。我现有一套系统 crontab能直接搬过来吗思路是可行的把每条 cron 对应的脚本放进脚本目录再在面板里重建 cron 规则即可。批量迁移没有一键按钮脚本一多就建议一条条核对。数据怎么备份出问题能恢复吗备份data目录就是完整备份含脚本、配置、日志和 SQLite 数据库。恢复时把该目录重新挂载并起容器即可。能不能多实例或集群部署目前定位是单机没有原生的集群模式。高可用可以靠外部负载均衡把流量打到多个实例但状态和数据需要自己保证一致这属于自建方案而非内置能力。它适合谁、不适合谁青龙适合脚本语言杂、数量多、需要在线维护和失败通知的常驻服务尤其跑在一直开着的 Linux 机器上。不太适合只有一两个简单任务、用系统 crontab 就够的场景或者追求高可用多节点的原生集群部署。想动手先按 Docker 那段拉个容器跑通再回到仓库的sample/目录看示例脚本、到shell/目录了解内置命令就能把「建脚本 → 配变量 → 设规则 → 开通知」这条主线串起来。【免费下载链接】qinglong支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台Timed task management platform supporting Python3, JavaScript, Shell, Typescript项目地址: https://gitcode.com/GitHub_Trending/qi/qinglong创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表