十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

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

1Panel 批量操作:一条命令库,下发到整组主机

1Panel 批量操作:一条命令库,下发到整组主机 1Panel 批量操作一条命令库下发到整组主机【免费下载链接】1Panel 1Panel is a modern, open-source Linux server management panel and a lightweight AI management platform.项目地址: https://gitcode.com/GitHub_Trending/1p/1Panel凌晨两点你第 9 次在终端里敲下同一条重启命令。命令没变变的是机器——6 台生产机、同一个发版动作、同一批日志清理你的手速没问题是工具把一批当成了六台单独做。1Panel 的批量操作把这件事反过来先把主机归拢成组再给命令建库多服务器管理就从逐台登录变成选组、选命令、确认三步。把散落的主机归拢到同一个组主机入口在 frontend/src/views/terminal/host/index.vue点添加主机逐台录入地址与凭据保存后列表顶部就是分组筛选框。真正省事的是改组动作——每行主机的分组列可以内联切换一台机器从生产挪到预发不用重建改个下拉就行。组的增删改查逻辑在 core/app/service/group.go 里两处细节值得留意建组时先查重名重了直接拒绝删组时如果组里还挂着命令会直接报错拒删只有把组内命令迁到默认组之后才放行。误点删除命令不会变孤儿。把要重复敲的命令写成一次性的资产主机进组之后省时间的下一环是命令。命令维护页 frontend/src/views/terminal/command/index.vue 支持创建名称 命令体并挂到任意组下。这是多服务器管理的分水岭命令不再散落在聊天记录和你的记忆里而是变成可检索、可复用的条目。后端 core/app/service/command.go 在创建时做名称查重更新时允许改命令体、换组——发现命令写错了改库这一条即可不用回头逐台纠正。为什么命令库要按组挂命令攒到两位数平铺列表肉眼找已经很慢了。SearchForTree方法把命令列表和组列表拼成两层树第一层是组名第二层是组内命令空组自动丢弃界面上看到的就是组 → 命令的结构化视图。三步把一条命令下发到整组主机① 进主机页顶部分组筛选框选定目标组确认这一批要碰哪几台机器。 ② 切到命令管理页从分组树里挑好命令点击执行并勾选组内主机。 ③ 回看每台机器的执行结果——成功、失败分开列失败的只需单独补跑不用整批重来。分组树的核心逻辑就一个循环for _, group : range groups { data.Label group.Name for _, cmd : range cmdList { if cmd.GroupID group.ID { data.Children append(data.Children, dto.CommandTree{Label: cmd.Name, Value: cmd.Command}) } } if len(data.Children) ! 0 { lists append(lists, data) } }先按组开坑再把命令填进对应的坑空组直接跳过——这就是选命令像翻目录的由来。命令库本身也可以导出换机重建命令库是最容易让人放弃维护这件事的原因。core/app/service/command.go 里的Export方法会把全部命令写成带时间戳的 CSV落在安装目录下的1panel/tmp/export/commands命令页上有现成的导入入口。老机器上用了几个月的命令库十分钟就能在新实例复刻一遍。下次需要批量发命令时先建组——它比逐台登录快一个量级。【免费下载链接】1Panel 1Panel is a modern, open-source Linux server management panel and a lightweight AI management platform.项目地址: https://gitcode.com/GitHub_Trending/1p/1Panel创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表