在银河麒麟V10桌面版中,需绕过安全中心30天限制,手动提取/合并/var/log下近180天messages-.gz与secure-.gz归档日志,经解压、时间戳过滤排序后生成/tmp/kylin_halfyear_log.txt,再通过日志分析模块“从本地文件导入”或替换logindex.db方式实现近半年日志导出。

在银河麒麟V10桌面版中,安全中心导出近半年系统日志需绕过默认的30天限制界面,直接调用底层日志服务接口并指定时间范围,否则点击“导出”按钮只会生成当月或最近30天的日志压缩包。
确认日志服务状态与原始存储路径
打开终端,执行 sudo systemctl status rsyslog,确保服务处于 active (running) 状态;若显示 failed,需先运行 sudo systemctl restart rsyslog 启动服务。
银河麒麟V10默认使用 rsyslog + logrotate 架构,原始日志按天归档在 /var/log/ 下,命名格式为 messages-YYYYMMDD.gz 或 secure-YYYYMMDD.gz。近半年日志实际存在,但安全中心GUI未提供跨月筛选入口。
手动提取并合并近半年原始日志文件
执行以下命令进入日志目录并列出近180天内的归档文件:
cd /var/log && find . -name "messages-*.gz" -mtime -180 | sort
该命令会输出类似 ./messages-20260415.gz、./messages-20260522.gz 的文件列表。注意:部分日期可能缺失(如系统未开机或日志轮转被禁用),【必须逐个验证文件可解压性,跳过损坏的.gz文件,否则后续合并会中断】。
将所有有效文件解压并追加到一个临时文件中:
zcat messages-*.gz secure-*.gz | grep -E "(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) [0-9]{1,2} [0-9]{2}:[0-9]{2}:[0-9]{2}" | sort -k1,3 > /tmp/kylin_halfyear_log.txt
这一步依赖系统日志时间戳格式(默认为 MMM DD HH:MM:SS),若发现排序错乱,说明某归档文件时间字段被截断或格式异常,需单独用 zcat 文件名.gz | head -n 5 检查前几行结构。
在安全中心界面中导入整理后的日志文件
方法一:通过安全中心“日志分析”模块的隐藏导入功能
启动麒麟安全中心 → 点击左侧菜单“日志分析” → 在右上角点击三个点图标 → 选择“从本地文件导入” → 浏览并选中 /tmp/kylin_halfyear_log.txt → 点击“确定”。此时界面会刷新并加载全部条目,顶部时间筛选器自动适配文件内最早与最晚时间戳。
方法二:直接替换安全中心缓存日志源(需重启服务)
关闭安全中心进程:killall kylin-security-center → 备份原日志索引:sudo cp /var/lib/kylin-security-center/logindex.db /var/lib/kylin-security-center/logindex.db.bak → 将整理好的日志文本转换为安全中心可识别的SQLite格式(使用随系统安装的 kylin-log-importer 工具):sudo kylin-log-importer --input /tmp/kylin_halfyear_log.txt --output /var/lib/kylin-security-center/logindex.db → 重新启动安全中心:kylin-security-center &。
导入完成后,在“日志分析”页点击右上角“导出”按钮,即可生成包含近半年数据的 security_export_YYYYMMDD_HHMMSS.zip 文件。

















