几十台 NAS 挨个登录跑脚本?群晖 CMS 任务一次下发到全网

引言

托管了一片 NAS 之后,最消耗人的往往不是故障,而是重复:一个巡检脚本、一次配置调整,要在几十台设备上逐台登录执行。群晖 Central Management System(CMS)的「任务」页面解决的就是这个痛点——在托管服务器上运行脚本,并集中查看任务状态和记录,一次下发、全网执行、结果回看。

什么场景用它最值

一是例行巡检:定期在全部托管服务器上跑健康检查脚本,结果统一回传主机。二是批量配置调整:同一套变更要在多台设备落地,逐台登录既慢又容易漏。三是分支集中代管:总部 CMS 主机统一管理分支 NAS 的例行脚本,减少远程逐台接入。

操作步骤

  1. 核对三项前置条件。为什么:官方明确——任务页面只有属于 administrators 群组的用户才能查看并在托管服务器上运行任务;一次只能运行一个任务;自定义脚本只能在运行 DSM 7.0 或以上版本的服务器上运行。账号、系统版本、串行执行三关先过,后面才顺。

  2. 确认托管服务器与主机走 HTTPS。为什么:出于安全原因,自定义脚本只能在通过 HTTPS 连接到 CMS 主机的服务器上运行——脚本内容天然敏感,官方用传输层约束守住安全底线。托管关系建立时就把 HTTPS 配好,而不是等任务下发失败后再补课。

  3. 先把脚本导入「脚本管理」。为什么:单击「脚本管理」按钮,再单击「导入脚本」,输入脚本信息、选择脚本文件后导入——导入后的脚本会显示在脚本管理列表中,并成为「运行任务 > 操作」下拉菜单里的任务选项。脚本沉淀进库,下次直接选,不用每次翻文件。

  4. 运行任务并选好目标。为什么:单击「运行任务」,从操作字段的下拉菜单选择默认操作或已导入的脚本(也可在此导入新脚本),输入描述并单击下一步,然后选择用于运行任务的目标服务器,跟随向导完成。描述字段别留空——几十台规模下,每条任务「为什么跑」必须可追溯;若目标里有休眠设备,官方提醒使用 Wake on LAN 需确保客户端服务器与主机服务器处于同一局域网。

  5. 盯住四种任务状态。为什么:任务信息一旦创建便会显示,状态分四类——已在所有托管服务器上成功执行;任务已完成但在过程中发生错误(当任务无法在任何托管服务器上运行时显示此状态);任务已取消;任务正在一台或多台托管服务器上进行。先看全局结论,再决定要不要下钻。

  6. 用「查看详细信息」下钻到返回代码。为什么:单击后列出每台选定服务器的任务状态和返回代码——返回代码是脚本执行结果最原始的证据,判断是脚本自身的问题还是某台设备环境的问题,从这里入手最准。

  7. 异常设备用「前往服务器」直达。为什么:在详细信息里选中服务器,单击「前往服务器」可直接前往该服务器处理。官方同时提醒:仅当用于操作 CMS 主机的计算机可以连接到托管服务器时,才能通过此按钮登录托管服务器——登不进去,先查操作机到目标服务器的连通性,再怀疑权限。

  8. 收尾管理记录与脚本。为什么:任务记录可通过右上角下拉菜单按任务名称、状态或创建时间排序,选中后即可删除;不再使用的脚本在脚本管理中删除并确认。记录留够追溯周期再清,脚本下线前确认没有依赖它的例行任务。

三条边界先知道

  • 串行执行:一次只能运行一个任务,大批量脚本要预估排队时长。
  • DSM 7.0+ 与 HTTPS 双门槛:自定义脚本只跑在 DSM 7.0 及以上、且经 HTTPS 连接主机的服务器上。
  • 权限收敛在管理员:任务页的查看与执行仅限 administrators 群组,普通账号无权下发。

结语

规模化运维的分水岭,在于把「重复劳动」变成「一次下发」。脚本先入库、任务带描述、状态看全局、异常下钻返回代码,这套动作定型之后,几十台 NAS 的例行维护就压缩成几分钟的事。贵州诚鑫致达科技在多节点 NAS 托管项目中,以 CMS 任务页配合脚本库做例行巡检下发,让每台设备的状态集中可见。