MailPlus 升级后翻不到 30 天前的邮件日志?SSH 导出旧日志实操
痛点场景
公司用 MailPlus 自建邮件服务器。某天客户投诉两个月前"没收到"一封对账邮件,要倒查当时的投递记录;或者安全审计要求提供半年前的安全日志。登录 MailPlus Server 翻日志,最早只能看到一个月内——再往前一片空白。下意识觉得"日志被清了"?其实数据都在,只是换了地方。
机制:3.2.0 起日志结构变了
从 MailPlus 3.2.0 开始,邮件日志和安全日志合并到事务日志中,以增强电子邮件跟踪并简化故障排除。套件更新过程中,MailPlus Server 只会转换过去 30 天的邮件日志和安全日志进新结构。
超过 30 天的旧条目没有消失,仍保留在原有数据库里——但需要按官方流程手动导出成 CSV 文件才能查阅。
前置:SSH root 权限登录 DSM
导出通过官方脚本完成,需要命令行环境:
- 控制面板 > 终端机和 SNMP 中启用 SSH 功能;
- 用具备管理员权限的账号 SSH 登录 DSM,再提权到 root。
导出命令
邮件日志(-m 参数):
/var/packages/MailPlus-Server/target/scripts/MailPlusServerOldArchiveLogExporter.sh -m /var/spool/@MailPlus-Server/aggr_log/aggr_mail_log_main.db
安全日志(-s 参数):
/var/packages/MailPlus-Server/target/scripts/MailPlusServerOldArchiveLogExporter.sh -s /var/spool/@MailPlus-Server/aggr_log/aggr_security_log_main.db
两参数对应两类日志,其余写法完全一致。
产物与位置
执行后,在原始数据库位置(/var/spool/@MailPlus-Server/aggr_log/)生成两个 CSV 文件:
- aggr_mail_log_main.csv——邮件日志;
- aggr_security_log_main.csv——安全日志。
拿到 CSV 后即可用表格软件按时间、收件人、事件类型随意筛选,倒查投递记录或出审计材料都够了。
归档数据库同样适用
如果您手上有归档日志数据库,同一条命令换个路径即可——导出的 CSV 文件名称将与数据库名称匹配:
- 邮件日志:
MailPlusServerOldArchiveLogExporter.sh -m your_mail_log_database_path - 安全日志:
MailPlusServerOldArchiveLogExporter.sh -s your_security_log_database_path
把归档库逐个喂给脚本,历史日志就分批落成了 CSV 档案。
预防与建议
- 升级 MailPlus 前先跑一遍导出,把 30 天窗口之外的记录主动落成 CSV——别等审计上门才翻库;
- 有合规留存要求的行业,导出的 CSV 按月归入只读备份介质,与邮件数据本身的备份分开管理;
- 事务日志虽好,也占存储空间:定期关注 MailPlus Server 存储占用,日志类空间异常增长早发现早规划。
邮件系统的排障一半靠日志——诚鑫致达科技交付邮件服务器时都会配一条"升级前后各导一次旧日志"的运维约定,两个月后要翻旧账的客户,没一个吃过闭门羹。