本文档介绍在思科邮件安全设备(ESA)上使用隐藏的CLI命令repairqueue以及如何验证队列恢复。
运行repairqueue命令的原因:
Status或Status Detail报告超过已配置的退回配置文件阈值的最早消息值。
注意:此检查不包括虚拟传递域队列,例如……queue(例如,.cpq.queue和.euq.queue)和.cpq.release.host)。
不运行repairqueue命令的原因:
本文档中的信息基于以下软件和硬件版本:
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。在实时网络中,请在继续操作之前确认每个命令的潜在影响。
建议掌握下列主题的相关知识:
CLI命令repairqueue不会修复所有工作队列问题或损坏。该实用程序尝试尽力修复工作队列。
运行repairqueue。第一个进程会运行一次提示以获取权限以继续并执行修复:
esa.example.com> repairqueue
Do you want to repair or clean the queue?
1. Repair.
2. Clean.
[1]> 1
The mail flow will be stopped throughout the repair/cleanup process
WARNING:
This utility does a best effort to repair the queue.
Not all queues corruptions can be repaired.
Are you sure you want to proceed? [N]> y
Checking generation checksum files
...
<<>>
...
done
Repair succeeded
Starting Hermes
Hermes Started
Log into the system and verify the status of the system. 修复过程完成且工作队列修复后,设备将保留先前工作队列的旧检查点。要继续写入工作队列处理的新检查点,请再次运行repairqueue,然后输入命令Clean:
esa.example.com> repairqueue
Do you want to repair or clean the queue?
1. Repair.
2. Clean.
[1]> 2
The mail flow will be stopped throughout the repair/cleanup process
WARNING:
There is a backup found this may be the only backup.
This will remove the old queue.
Are you sure you want to proceed? [N]> y
Double confirmation. Are you sure you want to proceed? [N]> y
Removing old queue
Cleanup finished 工作队列损坏的常见原因包括:
意外重新启动或不正确的关机(例如,电源中断)。 根据当时运行的后端进程,队列可能会在重新启动后损坏或无法装载。在这种情况下,CLI可以报告以下错误:
esa.example.com> status
Enter "status detail" for more information.
Couldn't obtain mail stats - my.esa: The daemon is not responding. esa.example.com> status
Enter "status detail" for more information.
Couldn't obtain mail stats - the queue is not mounted 如果用户拥有运行旧版AsyncOS的设备,但没有repairqueue hidden CLI命令选项,则用户可以打开支持案例,以便让思科支持工程师协助完成此过程。需要打开支持隧道,供思科支持人员访问设备并运行repairqueue命令。请与思科支持联系,以打开有效的支持案例。
在大多数情况下,腐败不等于邮件丢失。队列已损坏,原因是与设备上不再存在的邮件处理相关的元数据。这是用于队列、报告和邮件跟踪之间处理的记录。运行repairqueue会重建ESA元数据,并清除服务与处理之间的任何错误报告。
ESA可以在损坏的队列上运行很长时间,并且大多数消息仍在处理中。但是,设备可能会显得很迟缓,或者某些消息永远无法清除,如status命令中的Oldest Message值(显着早于bounceconfig阈值)所指示。 当AsyncOS重新启动时队列已损坏,队列可能无法安装。损坏可能会更早发生,并且不会引起注意,直到设备重新启动,此时队列无法装载。
修复工作队列可能需要10秒到几个小时不等,具体取决于ESA的状态以及当前通过活动工作队列处理的消息数量。在损坏时,在拥有完整队列的低端设备上修复工作队列可能需要几个小时。
在某些情况下(例如,设备上的队列过满),repairqueue无法完成。如果repaairqueue在4小时后未完成,则队列很可能不可修复,并且唯一的追索权是构建新队列。对于此类高级问题,请联系思科支持以打开有效的支持案例并请求思科支持帮助。
| 版本 | 发布日期 | 备注 |
|---|---|---|
2.0 |
02-Oct-2026
|
重新认证 |
1.0 |
10-Aug-2017
|
初始版本 |