先看中断发生在哪一步,再看工具是否留下了可续跑的记录。如果扫描是分批执行、每批都有独立结果文件或日志,那么已覆盖范围基本等于“最后一批完整结束的位置”;如果结果只写入一个内存状态、中断后没有任何落盘记录,那么这次扫描通常只能当作没跑完,不能凭页面上的部分结果推断覆盖率。
同样是“扫描到一半停了”,后续判断完全不同。把中断原因分开,才能决定是续跑、重跑还是放弃这次结果。
假设某次扫描计划处理 2000 个页面,每 100 个一批,日志显示第 12 批完成、第 13 批开始后中断。那么可确认覆盖的是前 1200 个页面;第 13 批的 100 个页面处于“部分处理”状态,最稳妥的做法是把这一批整体重跑,而不是只补其中失败的那几条。这个动作的结果会直接影响下一步:如果部分批次被当作完整批次,后续的链接缺口统计就会偏低,你会误以为某些页面没有友情链接,实际只是没扫到。
判断覆盖范围,最可靠的依据不是页面上的进度条,而是日志里的批次边界和完成标记。进度条可能按页面数估算,中断时显示的数字未必对应已经落盘的结果。
可以按下面的顺序核对:
这里有一个容易踩的边界:日志显示“已处理 1500 个页面”,但其中可能包含重试和跳过的页面,实际唯一 URL 数可能少于 1500。规模化扫描时,重试、跳转和重复入口会让“处理数”和“覆盖数”不一致,不能直接画等号。
三种取舍各有前提,不存在通用最优解。
保留并续跑适用于:工具有明确的断点记录、结果按批落盘、去重机制可靠。这时续跑成本最低,但前提是中断原因已经排除,否则会在同一位置再次中断。
整站重跑适用于:结果只存在于内存、日志不足以还原批次边界,或者中断原因涉及规则变更。重跑能保证口径一致,代价是时间成本,并且如果目标站有频率限制,短时间内重跑可能再次触发中止。
放弃本次结果适用于:中断发生在早期、已完成比例很低,或者中断原因不明且无法复现。此时继续修补的收益低于重新开始。
一个判断动作是:先只重跑中断的那一批,观察是否稳定通过。如果单批能稳定完成,说明问题在批次规模或偶发网络,可以继续按批续跑;如果单批仍然失败,说明问题在规则、认证或目标站策略,继续续跑只会重复消耗,应该先修复根因再决定是否重跑全站。
个别页面扫描成功,不能推断全站覆盖正常。常见例外包括:栏目页和详情页的模板不同,导致链接区域解析规则只在部分模板上生效;分页或懒加载内容在批量扫描时未被触发;部分子域或目录被规则排除。
因此,续跑或重跑后,除了看总数,还应抽查几类结构不同的页面,确认它们的结果口径一致。如果发现某一类页面系统性缺失,说明问题不在中断本身,而在扫描规则覆盖不到,这时调整规则比反复重跑更有效。具体工具是否支持规则调整、断点续跑和按批导出,需要以你实际使用的版本文档为准,不同工具的能力差异很大,不能照搬。