开始之前
- 正在使用的应用程序、调度器和外部服务的列表。
- 访问应用程序作业状态和适当脱敏的日志。
- 一个单独的测试环境和一个经批准的测试通知目的地。
2. 为每个任务提供简短的操作卡片。
每个不同的工作使用一行。添加时区、执行身份、测量后的正常持续时间、最近的有用结果和故障负责人。不要在卡片中放入密码、令牌或完整的私有通知正文。
| 假设任务 | 触发器 | 有用结果 | 失败时 |
|---|---|---|---|
| 每周 Wiki 摘要 | 约定的每周计划 | 为预期收件人提供一份摘要 | 编辑检查收件人列表和传递路径 |
| 文件清理 | 应用程序维护计划 | 符合条件的临时工作已移除 | 维护者检查作业错误和磁盘增长 |
| 日历提醒 | 事件配置的提醒 | 测试事件的预期提醒 | 所有者检查事件设置和发件人 |
| 独立备份 | 约定的备份计划 | 带有记录结果的新恢复点 | 备份所有者在假设覆盖之前进行调查 |
上述计划是用于决策的示例,而不是复制到应用程序中的默认值。记录停机后错过的工作如何表现:跳过、追赶或排队等待稍后处理。
3. 追踪通知,而不仅仅是“发送”。
写下从应用程序事件到队列或发送进程,然后到邮件服务和预期收件人的路径。记录谁控制发送账户、授权维护者从何处获取凭据,以及该服务提供哪些限制或失败报告。VPS 资源选择本身并不提供可用的出站邮件安排。
Nextcloud 的文档明确描述了连接到正常工作的邮件服务器,而不是包含自己的完整邮件服务器。其测试邮件功能有助于检查配置的发送路径。 Nextcloud 33 电子邮件配置.
BookStack 也使用电子邮件进行账户管理流程,并提供用于事件驱动集成的出站 Webhook。启用时,将两者都添加到依赖关系映射中;发件人故障不仅影响便利性,还可能影响恢复。 BookStack 电子邮件和 Webhook.
4. 确定重复意味着什么。
对于每个作业,问两个问题:在此作业完成之前,另一个运行是否可以开始?如果它在完成部分工作后重试,会发生什么?文件索引更新和发送给每个成员的消息具有不同的后果。记录应用程序的并发和重试行为,而不是假设所有作业都可以安全地运行两次。
在假设的每周摘要中,所有者保留预期报告期的记录,并在手动重试之前检查该报告期是否已经产生了完成的发送。这是一种操作检查,而不是声称所选应用程序实现了重复抑制。如果它没有提供足够的控制,在依赖该任务之前选择更安全的手动恢复程序。
5. 在恢复期间遏制副作用。
恢复的数据库可能包含待处理的工作或较旧的事件状态。在启动测试副本之前,防止它联系真实收件人或外部系统。隔离测试环境,酌情禁用其调度器和工作进程,并将明确允许的测试输出指向受控目的地。不要假设不同的主机名会更改存储的收件人或 Webhook URL。
对于研讨会示例,测试副本应允许维护者验证页面和附件,而无需重新发送上周的摘要。记录哪些作业保持停止、如何检查待处理工作以及谁可以授权有限的测试运行。在真正切换之前,定义哪个实例拥有计划工作,以便旧副本和新副本不会同时执行它。
6. 验证一个小的、可观察的结果。
使用一个带有可识别标签的无害测试事件和一个经批准的测试收件人。记录触发时间、任务开始、完成结果以及实际接收情况(如适用)。检查内容和链接以及到达情况。成功的应用程序操作并不能证明每个预期收件人都收到了消息。
如果没有任何到达,按顺序检查触发器、调度器、任务错误和发送路径。如果出现重复,停止重复的手动重试,并确定每个尝试是由哪个实例或作业产生的。如果工作被延迟,比较队列或待处理任务的年龄与执行时间和资源使用情况。保留简洁的证据,不要将令牌、私人消息正文或不必要的地址复制到一般笔记中。
7. 分配下一次检查。
选择适合失败后果的审查间隔。失败的账户恢复发件人与迟到的每周摘要需要不同的响应。定义当警报缺失时谁检查最近的成功结果,并确保警报通道本身不是发现发件人故障的唯一方式。
将任务卡片与您的 服务清单。将它们添加到 恢复演练 y los 维护例程。本指南描述了组织和测试所选软件的一种方式;它不提供托管调度器、消息传递保证或已执行的测试结果。
本说明背后的文档
使用你实际运行的版本文档。这些示例是规划材料,不是在一台 Hoszen VPS 上测试的记录。