找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2133

积分

0

好友

300

主题
发表于 16 小时前 | 查看: 2| 回复: 0

一个轻量级定时任务管理系统,基于 Go 和 Vue 3 构建,支持 Docker/Compose 部署,内置 Python3、Node.js 和 Bash 环境,开箱即用。

项目 GitHub 地址:https://github.com/engigu/baihu-panel

在线 Demo 体验地址:https://baihu-demo-site.qwapi.eu.org/

baihu-panel 数据仪表板界面

项目背景

  • 项目的开发初衷与大家熟知的青龙面板有关。开发者在使用中发现,青龙面板在资源消耗方面表现不尽如人意。例如,在一台 1C2G 配置的服务器上,一个简单的 Python requests 脚本如果设置为每 30 秒执行一次,其 CPU 占用率在执行时可能会飙升到 50% 以上。
  • 为了追求更低的资源占用和更高的执行效率,baihu-panel 应运而生。在相同的定时任务场景和执行代码下,baihu-panel 的 CPU 占用率峰值通常能控制在 20% 以内,表现更为轻量。

项目特点

  • 轻量部署:提供 Docker 及 Docker Compose 部署方案,无需复杂的配置即可快速启动。
  • 高效调度:支持标准的 Cron 表达式调度,并提供常用时间规则的快捷选择。任务日志不直接写入文件,有效避免了磁盘的频繁 I/O 操作。
  • 便捷脚本管理:内置在线代码编辑器,支持脚本文件上传,并能自动解压压缩包。
  • 在线终端:基于 WebSocket 提供实时交互式终端,命令执行结果可实时输出。
  • 环境变量管理:提供安全的环境变量存储功能,用于保存敏感配置,并在任务执行时自动注入。
  • 现代化 UI:采用响应式设计,支持深色与浅色主题切换。
  • 移动端适配:界面针对移动设备等小屏幕进行了样式适配。
  • 远程执行:支持通过远程 Agent 执行任务,并集中展示执行结果。

功能特性

定时任务管理

  • 支持标准 Cron 表达式进行任务调度。
  • 提供常用时间规则(如每小时、每天)的快捷选择。
  • 可灵活启用或禁用任务。
  • 支持手动立即触发任务执行。
  • 可设置任务执行的超时时间。

脚本文件管理

  • 集成在线代码编辑器,方便编写和修改脚本。
  • 以树形结构清晰展示文件目录。
  • 支持创建、重命名、删除文件或文件夹。
  • 支持上传 ZIP 等压缩包并自动解压。
  • 支持一次性批量上传多个文件。

在线终端

  • 基于 WebSocket 实现实时命令行终端。
  • 支持执行常用的 Shell Bash 命令。
  • 命令执行过程中的输出会实时反馈到前端界面。

执行日志

  • 完整记录所有任务的执行历史。
  • 清晰追踪每次执行的状态(成功、失败或超时)。
  • 统计并展示每次任务执行的耗时。
  • 日志内容采用压缩方式存储以节省空间。
  • 支持配置日志的自动清理策略。

环境变量

  • 安全地存储如 API 密钥、数据库密码等敏感配置信息。
  • 在界面上对变量值进行脱敏显示(如显示为******)。
  • 在任务执行时,这些变量会自动注入到脚本的执行环境中。

系统设置

  • 可自定义站点标题、标语和图标。
  • 配置列表分页大小、用户登录会话的 Cookie 有效期等。
  • 支持调度参数的热重载,无需重启服务。
  • 提供系统数据的备份与恢复功能。

希望这款由 Go 和 Vue 3 构建的轻量级工具能为你的定时任务管理带来便利。如果你对这类开源项目感兴趣,欢迎来 云栈社区 与更多开发者交流探讨。




上一篇:一个按钮引发的"依赖图侦探案":为何我们最终选择原生Web组件
下一篇:Spring Bean注入异常:5大场景排查与解决方案
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-14 18:39 , Processed in 0.454069 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表