麒麟系统配置快照导出需按六步执行:创建时间戳目录、导出主机元数据、抓取网络配置(含resolv.conf真实DNS)、列出启用服务、复制hosts/fstab/grub文件、导出活跃用户与组;再打包压缩并校验,最后可封装为带错误捕获的自动化脚本。

您需要在麒麟操作系统中持久化保存当前系统配置状态,用于后续迁移、审计或灾备,可直接提取主机信息、网络参数、服务列表、关键配置文件及用户组数据,生成结构清晰、可读可比对的纯文本快照。
导出核心系统配置项
该方法不依赖图形界面,所有命令均为原生Linux工具,输出为纯文本,适合脚本化调用与合规存档。每项内容均对应运维审计常见条目,缺失任一字段可能导致基线比对失败。
1、创建带时间戳的导出目录:mkdir -p /opt/kylin-config-export/$(date +%Y%m%d_%H%M)
2、导出主机身份与系统元数据:hostnamectl > /opt/kylin-config-export/$(date +%Y%m%d_%H%M)/hostnamectl.txt
3、抓取完整网络配置:执行 ip addr show > /opt/kylin-config-export/$(date +%Y%m%d_%H%M)/ip_addr.txt → ip route show > /opt/kylin-config-export/$(date +%Y%m%d_%H%M)/ip_route.txt → cat /etc/resolv.conf > /opt/kylin-config-export/$(date +%Y%m%d_%H%M)/resolv.conf。注意:若 resolv.conf 是 systemd-resolved 的符号链接,需用 systemd-resolve --status 补充真实 DNS 配置,否则导出内容为空链接路径。
4、列出所有开机自启服务:systemctl list-unit-files --state=enabled | grep service > /opt/kylin-config-export/$(date +%Y%m%d_%H%M)/enabled_services.txt
5、复制关键静态配置文件(不含敏感凭证):cp /etc/hosts /etc/fstab /etc/default/grub /opt/kylin-config-export/$(date +%Y%m%d_%H%M)/。这三份文件控制网络映射、磁盘挂载与引导参数,任意修改失误将导致系统无法启动或挂载失败。
6、导出活跃用户与组信息(已自动过滤系统账户):getent passwd | grep -v '/nologin\|/false' > /opt/kylin-config-export/$(date +%Y%m%d_%H%M)/active_users.txt → getent group > /opt/kylin-config-export/$(date +%Y%m%d_%H%M)/groups.txt
打包并压缩配置快照
单个文本文件易丢失、难归档,必须归入带时间戳的压缩包,确保完整性与版本可追溯性。此步骤不可跳过,否则前序导出结果不具备长期保存价值。
第一步:进入导出根目录:cd /opt/kylin-config-export
第二步:定位最新生成的子目录:LATEST_DIR=$(ls -td */ | head -n1)
第三步:生成归档包,保留符号链接与权限:tar -czf kylin-config-$(date +%Y%m%d_%H%M%S).tar.gz "$LATEST_DIR"
第四步:校验压缩包是否可解压:tar -tzf $(ls -t kylin-config-*.tar.gz | head -n1) | head -n5。若报错“Cannot open: No such file or directory”,说明上一步 tar 命令未成功执行,需检查 LATEST_DIR 变量值是否为空。
构建自动化备份脚本
手动执行易遗漏、难复现,应封装为可定时运行的脚本。以下内容写入 /usr/local/bin/export-kylin-config.sh 即可复用。
方法一:基础可执行脚本
1、创建脚本文件:sudo nano /usr/local/bin/export-kylin-config.sh
2、粘贴以下内容(注意替换路径中的空格为下划线):
#!/bin/bash
EXPORT_DIR="/opt/kylin-config-export"
DATE=$(date +%Y%m%d_%H%M)
mkdir -p "$EXPORT_DIR/$DATE"
hostnamectl > "$EXPORT_DIR/$DATE/hostnamectl.txt"
ip addr show > "$EXPORT_DIR/$DATE/ip_addr.txt"
systemctl list-unit-files --state=enabled | grep service > "$EXPORT_DIR/$DATE/enabled_services.txt"
cp /etc/hosts /etc/fstab "$EXPORT_DIR/$DATE/"
tar -czf "/backup/kylin-config-$DATE.tar.gz" -C "$EXPORT_DIR" "$DATE"
3、赋予执行权限:sudo chmod +x /usr/local/bin/export-kylin-config.sh
方法二:带错误捕获的增强版
在脚本末尾追加:
if [ $? -eq 0 ]; then
echo "✅ 配置导出完成:/backup/kylin-config-$DATE.tar.gz"
else
echo "❌ 导出失败,请检查 /opt/kylin-config-export 权限"
fi
执行脚本:sudo /usr/local/bin/export-kylin-config.sh

















