如果你经常在服务器上写脚本,应该很容易遇到一个问题:脚本越来越多,定时任务越来越乱,日志分散在不同目录,失败了也没人提醒,想临时改个环境变量还得重新 SSH 上去翻文件。青龙面板解决的就是这个问题。
青龙面板不是某一个单独脚本,也不是只能跑某一种任务的工具。它更像一个自建的自动化任务中枢:把脚本、定时任务、环境变量、依赖、日志、通知集中放到一个 Web 面板里管理。你可以把它装在 VPS、NAS、软路由、家里的小主机上,让机器按计划替你执行重复工作。
青龙面板是什么?
青龙面板是一个支持 Python3、JavaScript、Shell、TypeScript 的定时任务管理平台。它的核心能力可以概括成四件事:
- 集中管理脚本:把各种自动化脚本统一放在面板里执行。
- 可视化管理定时任务:不用手动编辑 crontab,在网页里就能新增、暂停、运行、查看日志。
- 统一管理环境变量:Token、Cookie、API Key、Webhook 地址等配置可以集中维护。
- 任务失败提醒:通过 Telegram、企业微信、钉钉、Server 酱等方式推送结果或错误。
简单说,如果 Linux 自带的 crontab 是“命令行定时器”,那青龙面板就是带 Web UI、日志系统、环境变量管理和通知能力的增强版任务调度中心。
它适合哪些应用场景?
青龙面板最适合做周期性、可脚本化、需要日志和通知的事情。下面这些场景都比较实用。
1. 服务器巡检与状态监控
比如每天检查一次磁盘空间、内存占用、Docker 容器状态、网站返回码、数据库备份是否存在。脚本一旦发现异常,就自动发 Telegram 消息提醒你。对个人站长和小团队来说,这种轻量巡检很有价值。
2. 证书、域名、接口可用性检测
可以定时检测 HTTPS 证书还有多少天过期,域名解析是否正常,某个 API 是否返回预期内容。比起等用户告诉你网站挂了,这类主动检查显然更省心。
3. 自动备份与文件清理
例如每天凌晨打包网站目录、导出数据库、同步到对象存储或另一台服务器;也可以定时清理日志、临时文件、旧备份,避免服务器空间被慢慢吃光。
4. Webhook 与数据同步
一些个人项目会需要定时拉取 RSS、同步 Notion、更新静态页面、刷新缓存、请求内部接口。青龙面板可以把这些任务统一排程,不必为每个小脚本单独写 systemd 服务。
5. 合规的自动化签到或提醒
一些网站或服务允许用户通过 API 做自动化操作,这类任务可以放进青龙。但这里要强调一点:只自动化你自己拥有、被授权或明确允许自动化的服务,不要使用来路不明的脚本,也不要把它用于违反平台规则的批量行为。
青龙面板和 crontab 有什么区别?
crontab 很轻,但当任务多起来以后,它的管理体验会变差。青龙面板的优势主要在可视化和协作层面:
- 可以在浏览器里查看任务列表、运行状态和日志。
- 环境变量集中管理,脚本不用到处读取零散配置文件。
- 支持手动运行、禁用、复制、查看执行记录。
- 适合把多个脚本仓库或多个任务统一管理。
- 通知能力更完整,任务失败后更容易第一时间知道。
如果你只有一两个简单命令,crontab 足够;如果你已经有一堆脚本,并且希望它们可视化、可维护、可提醒,青龙面板会舒服很多。
部署前准备
推荐使用 Docker 或 Docker Compose 部署。准备条件如下:
- 一台 Linux 服务器、NAS、软路由或虚拟机。
- 已安装 Docker 和 Docker Compose。
- 服务器放行
5700端口,或准备通过 Nginx / Caddy 反代。 - 建议至少 1 核 1G 内存,任务多的话适当提高配置。
下面以 Docker Compose 为主,因为它更方便后续维护、升级和备份。
方式一:Docker Compose 部署青龙面板
创建目录:
mkdir -p /opt/qinglong
cd /opt/qinglong
新建 docker-compose.yml:
services:
qinglong:
image: whyour/qinglong:debian
container_name: qinglong
restart: unless-stopped
ports:
- "5700:5700"
volumes:
- ./data:/ql/data
environment:
- QlBaseUrl=/
启动:
docker compose up -d
如果你的系统还是旧版 Compose,也可以使用:
docker-compose up -d
查看运行状态:
docker ps
docker logs -f qinglong
浏览器打开:
http://服务器IP:5700
首次进入时按页面提示初始化账号密码。初始化完成后,就能进入青龙面板后台。
方式二:Docker 命令快速部署
如果你只是想快速跑起来,也可以直接用 Docker 命令:
docker run -dit
--name qinglong
--hostname qinglong
--restart unless-stopped
-p 5700:5700
-v /opt/qinglong/data:/ql/data
whyour/qinglong:debian
后续访问方式一样:
http://服务器IP:5700
我个人更建议用 Docker Compose,因为配置更直观,迁移和备份也更方便。
用 Nginx 反代到域名
如果你不想直接用 IP:5700 访问,可以给它绑定一个域名,比如 ql.example.com。先把域名解析到服务器 IP,然后在 Nginx 里加反代:
server {
listen 80;
server_name ql.example.com;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:5700;
}
}
生产使用建议再申请 HTTPS 证书。如果面板只给自己用,也可以在防火墙里限制访问 IP,或者把面板放到内网、VPN、零信任访问后面。
青龙面板基础使用流程
部署完成后,一般按这个顺序使用:
- 创建环境变量:进入“环境变量”,添加脚本需要的 Token、Cookie、API Key 等。
- 添加脚本或订阅:可以手动上传脚本,也可以添加你信任的脚本仓库。
- 安装依赖:根据脚本语言安装 Node、Python 或 Linux 依赖。
- 设置定时任务:填写 cron 表达式,例如每天凌晨执行一次。
- 配置通知:让任务成功、失败或异常时推送到你的消息工具。
- 观察日志:第一次运行一定要看日志,确认任务执行路径、依赖和变量都正常。
一个实际案例:每天检查网站状态并推送 Telegram
比如你想每天检查 https://example.com 是否正常,可以写一个简单 Shell 脚本:
#!/usr/bin/env bash
URL="https://example.com"
CODE=$(curl -L -s -o /dev/null -w "%{http_code}" "$URL")
if [ "$CODE" = "200" ]; then
echo "$URL 正常,状态码:$CODE"
else
echo "$URL 异常,状态码:$CODE"
exit 1
fi
把它放进青龙面板,定时设置为:
0 9 * * *
意思是每天早上 9 点执行一次。再配合青龙通知,失败时你就能收到提醒。这种任务虽然简单,但对于个人博客、小项目、API 服务来说很实用。
更新青龙面板
如果你使用 Docker Compose:
cd /opt/qinglong
docker compose pull
docker compose up -d
如果你用的是 Docker 命令部署,可以先拉取新镜像,再重建容器。注意升级前最好先备份数据目录。
备份与迁移
青龙的核心数据在你挂载出来的目录里。上面 Compose 示例使用的是:
/opt/qinglong/data
备份时可以直接打包:
cd /opt/qinglong
tar -czvf qinglong-data-$(date +%F).tar.gz data
迁移到新服务器时,重新部署同样的 Compose 文件,再把 data 目录恢复回去即可。
安全建议
青龙面板经常保存 Token、Cookie、API Key,所以安全性一定要重视:
- 后台密码使用强密码,不要使用默认弱密码。
- 不要随便订阅陌生脚本仓库,尤其是需要敏感变量的脚本。
- 面板不要裸露在公网,能限制 IP 就限制 IP,能加 HTTPS 就加 HTTPS。
- 环境变量不要截图外传,也不要贴到公开日志里。
- 定期备份
/ql/data或映射出来的数据目录。 - 任务失败不要只重跑,要看日志确认原因。
常见问题
1. 5700 端口打不开?
检查 Docker 容器是否启动、防火墙是否放行、云服务器安全组是否开放端口。
2. 脚本运行失败?
先看日志。常见原因是依赖没装、环境变量缺失、脚本路径不对、网络访问失败。
3. 要不要用 latest 镜像?
个人使用可以用官方镜像标签保持更新,但重要环境建议先备份再升级。想更稳定的话,可以固定版本标签。
4. 青龙适合暴露公网吗?
不建议无保护地暴露公网。至少要强密码和 HTTPS,最好再加 IP 白名单、反代鉴权、VPN 或零信任访问。
结语
青龙面板真正好用的地方,不在于它能跑某一个脚本,而在于它把“脚本自动化”这件事整理成了一个可管理的平台。你不需要记住每台机器上有多少个 crontab,也不用到处翻日志,更不用担心任务失败后悄无声息。
对个人站长来说,它可以做网站巡检、备份、提醒;对开发者来说,它可以跑定时同步、Webhook 辅助任务、接口检测;对 HomeLab 玩家来说,它可以把 NAS、软路由、小主机上的杂活统一收进一个面板里。把重复劳动交给机器,把关键结果推送给自己,这就是青龙面板最朴素也最实用的价值。