Minexa说明书
进阶APP 使用说明

自动化任务:定时开服、备份与公告

让服务器按点重启、定时备份、自动发公告;7 种动作、4 种频率和 Cron 怎么写,失败为什么不精确。

你不想每天凌晨爬起来重启服务器,也不想到周末才发现上一次备份是五天前。手机开服最缺的其实不是性能,是没人守着:该备份的时候没人打,该重启的时候忘了,该提醒玩家的时候想不起来。

另一种更常见的处境是:服务器白天开着挺好,晚上你睡了以后内存慢慢涨、实体越积越多,第二天进服就卡。解决办法不是换手机,而是让它每天凌晨自己重启一次。

「更多 → 自动化」解决的就是这类「到点该有人做、但没有人」的事。它只有七种动作、四种频率和一个 Cron 框,学会怎么填一遍,后面所有任务都是同一个套路。

本页要点
  • 一个任务 = 动作 + 频率 + 少量参数,一共七种动作、四种频率,没有第二种玩法。

  • 最容易填错的是 Cron:只有 5 段,没有秒,日和星期同时限定时按 OR 匹配。

  • 备份类任务的保留数量默认 5 份,和备份页的自动备份(10 份)是两套独立设置。

  • 系统没给精确闹钟权限时,任务可能晚到 最多约 120 秒,这不是应用坏了。

一个任务由什么组成#

新建任务时,你只需要回答三个问题:做什么、什么时候做、做几次留几份。任务名默认就跟动作同名(比如「世界备份」),改过名字之后它不会再跟着动作变;名字只是给你自己看的。

不同动作暴露的字段不一样:

  • 备份类动作多一个保留数量:3 / 5 / 10 / 20 / 全部保留(0),默认 5。这是这个任务自己的设置,和备份页的自动备份保留 10 份互不干扰。

  • 广播和自定义命令才有命令输入框。命令留空的话,到点什么都不会发生——它不会报错,也不会发一条空消息。

  • 其余动作没有额外字段,选完动作直接选频率就行。

建好的任务在列表里是一张卡片,只有四个入口:左边启用开关、立即执行、编辑、删除。卡片底部一行「上次执行」,显示成 10-25 04:00 这种格式,这是唯一的执行记录。

启用开关关掉之后,任务还留在列表里、下次执行时间也还记着,只是不再排期;重新打开会重新算一次。所以「先临时停用」比「删掉重建」更省事。

照着点一遍:建第一个「每天凌晨自动备份」#

第一次进这个页面会觉得选项多,其实按顺序填四格就够。下面以「每天凌晨 4 点备份一次世界、只留最近 5 份」为例:

  1. 新增任务,动作选「世界备份」:任务名会自动变成「世界备份」,想改成「每日存档」也行,但注意 改过的名字不再跟着动作变。

  2. 设保留数量:选 5。这个数字只管这一个任务,跟备份页的自动备份互不影响。

  3. 选频率:点「每 N 天」,N 保持 1(就是每天一次),执行时刻填 04:00。

  4. 保存:回到列表,确认左边开关是开的;然后手动点一次「立即执行」,先确认它真能跑通。

成功标志有三个,缺一个都说明还没配好:列表里出现这张卡片;卡片底部有一行「上次执行」;控制台里出现 [auto] 执行定时任务「…」。

为什么要先手动跑一次?因为定时任务是「到点才暴露问题」的东西。手动跑一次,30 秒内就能知道目录权限、剩余空间、核心类型对不对;不跑的话,可能要等到凌晨 4 点才发现备份一直失败,而你根本不知道。

七种动作,逐个说清#

动作它实际做什么要注意什么
启动服务器按当前配置启动活动服务器服务器必须已部署,否则动作会因为没有可用核心而失败
停止服务器向控制台发停服服务器本来就没运行时会直接忽略,不算失败
重启服务器运行中:先广播警告 → 等 10 秒 → 停服 → 最多等 30 秒 → 启动会把在线玩家直接踢下线
世界备份运行中先发保存命令,再打包三个世界目录保留数量按任务自己的设置
完整备份同上,但打包整个服务器目录体积大,间隔别设太短
游戏内广播只在运行中发;/say hi、say hi、裸文本都会归一成 say …没人在线也照发,不会攒着
自定义命令只在运行中发,自动去掉开头的 /命令写错不会有人告诉你,去控制台看

没有单独的「公告」动作——公告就是用「游戏内广播」实现的。也没有「执行脚本」这类自由动作;想连着做几件事,就建几个任务,让它们时间错开。

「重启服务器」是唯一会主动踢人的动作,它的顺序值得记一下:先广播一句警告,给玩家 10 秒反应时间(够回城、够打字骂你),然后才停服。所以重要服务器建议额外加一个提前 5 分钟的广播任务,别让玩家只看到 10 秒的倒计时。

备份动作和备份页不是一套设置

自动化里的「世界备份 / 完整备份」用的是任务自己的保留数量;备份页的自动备份用的是页面上那个「自动保留数量」,默认 10 份、只管自动来源的包。两套清理规则各管各的,谁也删不掉手动备份。

四种频率,最后一种是 Cron#

选完动作就选频率。四种模式的区别不在「能不能用」,而在「你要表达的时间有多复杂」:

频率怎么填默认值适合
间隔每 N 分钟或 N 小时360 分钟(6 小时),预设 15 分钟到 24 小时八档备份、轮询类
每 N 天N 天一次 + 执行时刻,N=1 就是每天N=1、04:00每天凌晨重启
每周勾星期几(至少一天)+ 每 1 或 2 周 + 时刻周日 04:00每周维护
Cron5 段表达式 分 时 日 月 周0 4 * * *(每天 04:00)整点、错峰、复杂周期

Cron 是这个页面唯一需要动脑的地方,规则不多但必须记准:

  • 只有 5 段,没有秒。分 时 日 月 周。

  • 取值范围:分 0–59、时 0–23、日 1–31、月 1–12、周 0–7(0 和 7 都表示周日)。

  • 支持五种写法:*(每个)、列表 1,2,3、范围 1-5、步长 */15、组合起来的 1-5/2。

  • 日和周同时被限定时按 OR 匹配——例如 0 4 1 * 1 表示「每月 1 号或每周一」的 04:00,不是「1 号且周一」。

  • 不支持 L、W、#、? 这类扩展语法,写了会直接判无效。

  • 输入时会实时校验,通过显示「Cron 表达式有效」,不通过显示「语法无效:分 时 日 月 周」,并且保存按钮会被禁用。保存不了不是 bug,是表达式真的有问题。

几个能直接抄的写法:

文本
0 4 * * *      每天 04:00
*/30 * * * *   每 30 分钟
0 3 * * 1      每周一 03:00
0 6,18 * * *   每天 06:00 和 18:00
0 4 1 * *      每月 1 号 04:00
没有时区选项,用的是手机当前时区

任务里不存时区字段。你改了手机时区、或者带着手机跨时区走,同一个任务的触发时刻会跟着变。想让「凌晨 4 点」永远是本地凌晨 4 点,就 别在任务跑着的时候改时区。

为什么不精确,为什么干脆没执行#

这是自动化页最容易被当成 bug 的地方。原因有三层,从下往上说:

第一层,闹钟权限。 应用优先用精确闹钟,并允许在 Doze(系统深度休眠)下唤醒。如果系统没给「精确闹钟」权限,会退化成窗口闹钟,窗口长度 120 秒——也就是说任务可能比预定时间晚到最多约 2 分钟。再不行就退化成普通的非精确闹钟,延迟会更长。

第二层,系统省电。 即使拿到精确闹钟权限,Doze 也会限制同一个应用在休眠期间的闹钟频率,这是 Android 的平台行为,应用改不了。厂商的省电策略还可能直接让应用起不来前台服务,这时候任务到点也没法执行。

第三层,任务的排期方式。 这几个机制要知道:

  • 同一时间只注册一个待触发的闹钟(最近的那个),触发后再算下一个。

  • 关机期间错过的任务,会在恢复后最快 5 秒补跑一次,而且只补一次,不会把错过的十次全补上。

  • 重启设备后闹钟会丢,开机后由系统广播重新排期。

  • 「间隔」模式是按「上次执行时间 + 周期」算的,长期跑会累积漂移,不是严格对齐整点。

  • 「每周」模式里的「每 2 周」判断依赖上一次执行时间;如果一个任务从来没运行过,第一次会直接命中。

所以正确的期待是:它会在那个时间附近做事,不保证秒级准点。对精度要求高的事(比如整点公告),把频率写清楚、别叠加太多任务,并且接受几十秒到两分钟的偏差。

为什么「关机期间错过只补一次」

闹钟是系统帮你记着的,手机一关机,这份记忆就没了。开机后应用只能看到「这个任务本该在昨天 04:00 跑」,于是补跑一次、然后把下次时间挪到明天 04:00。如果它把错过的十次都补上,你重启手机的瞬间就会连续收到十个备份任务,把存储撑爆——所以设计成只补一次。这也是为什么长期关机的手机,自动化记录会「断档」。

怎么知道它到底跑没跑#

答案很朴素:看卡片上那行「上次执行」。点了「立即执行」也算一次运行,会推进这个时间并重算下次排期;手动跑和定时跑在记录上分不出来。

除了这一行,还有两处痕迹:

  • 控制台:任务执行时会写 [auto] 执行定时任务「任务名」;备份类任务完成后还会写 [auto] 「任务名」备份完成: 文件名。去 终端与控制台 往上翻就能看到。

  • 系统通知:执行失败会发一条事件通知,备份类失败另有一条。通知只在失败时出现,成功时是安静的。

没有执行历史列表,没有成功/失败记录页,也没有「最近十次执行」这种东西。想长期追踪,只能自己看通知或定期翻控制台。

四个可以直接照抄的用法#

  1. 每天 04:00 自动重启:动作「重启服务器」,频率「每 N 天」,N=1,时刻 04:00。重启前它自己会先广播一次警告并等 10 秒,但玩家未必在看屏幕,重要服务器建议再加一个 03:55 的广播任务提醒。

  2. 每 6 小时完整备份、保留 5 份:动作「完整备份」,频率「间隔」360 分钟,保留数量选 5。世界大、手机空间紧张时,改成「世界备份」更省空间。

  3. 整点公告:动作「游戏内广播」,频率「Cron」填 0 * * * *,命令写 say 整点提醒:有问题群里说。广播会自动补成 say …,你写不写 say 都行。

  4. 关服前 5 分钟提醒:这件事必须建两个任务。一个 Cron 55 3 * * * 广播 say 服务器 5 分钟后维护;一个 Cron 0 4 * * * 执行「停止服务器」或「重启服务器」。

第 4 条是新手最容易想错的地方:一个任务只能有一个动作,既发广播又停服是做不到的。想「提醒 → 等待 → 执行」,就拆成两个时间错开的任务,让前一个先把话说完。

三条风险,提前说清#

别让两个任务抢同一件事

「重启服务器」会把在线玩家直接踢下线,只在停服前留 10 秒缓冲;「完整备份」如果正好和还原、重置、手动改配置撞在同一分钟,打出来的可能是一半新一半旧的包。把备份安排在没人操作的时间段,重启前加一个广播任务,别把两件事堆在同一分钟。

  • 自动化不能替代保活。它管的是「到点做事」,服务器能不能一直活着是保活服务的事,见 后台保活与桌面小组件。应用被系统清掉后,闹钟仍然会响、任务仍然会尝试执行,但前台服务能不能起来取决于厂商策略。

  • 它也不替代备份策略。自动备份只保证「有一份相对新的包」,保留几份、什么时候该额外打一份,仍然要人决定,见 备份策略与恢复演练。

  • 它不检查你的操作状态。你在手动改配置文件、正在还原世界时,到点的任务照跑。要动大手术之前,先把相关任务停用。

上机自查
  • 任务列表里能看到你建的任务,左边开关是打开的。

  • 卡片底部有一行「上次执行」,格式像 10-25 04:00。

  • Cron 输入框显示「Cron 表达式有效」,保存按钮不是灰的。

  • 点一次「立即执行」后,「上次执行」的时间立刻更新了。

  • 控制台里能找到 [auto] 执行定时任务「任务名」 这一行。

  • 备份类任务的保留数量是你选过的值,不是留空。

下一步#

读到这儿了,给你点个赞。如果这页内容帮你解决了问题,说明说明书的方向是对的;如果发现错误、过时信息或看不懂的地方,欢迎到 GitHub Issues 告诉我们。

⚡ 回到极速开服 📖 查术语表