0

0

麒麟OS如何导出系统配置 麒麟OS环境备份脚本【教程】

裘德小鎮的故事

裘德小鎮的故事

发布时间:2026-02-06 13:22:44

|

794人浏览过

|

来源于php中文网

原创

需在麒麟系统中持久化配置以支持迁移、审计与灾备,应依次执行:一、导出主机信息、网络配置、启用服务、关键文件及用户组;二、打包压缩并验证;三、构建含软件清单与目录同步的自动化备份脚本;四、配置每日cron定时执行;五、实施权限控制与GPG加密存储。

麒麟os如何导出系统配置 麒麟os环境备份脚本【教程】

如果您需要在麒麟操作系统(Kylin OS)中持久化保存当前系统配置状态,或为后续迁移、审计、灾备做准备,则需将关键配置项提取为可复用的结构化文件。以下是导出系统配置与构建环境备份脚本的具体操作路径:

一、导出核心系统配置项

该方法通过采集系统关键配置文件和运行时参数,生成一份轻量、可读、可比对的配置快照,适用于合规检查与配置基线建立。

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、路由、DNS):
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

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 /opt/kylin-config-export/$(date +%Y%m%d_%H%M)/hosts.bak
cp /etc/fstab /opt/kylin-config-export/$(date +%Y%m%d_%H%M)/fstab.bak
cp /etc/default/grub /opt/kylin-config-export/$(date +%Y%m%d_%H%M)/grub.bak

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

二、打包并压缩配置快照

将上一步生成的所有配置文件归档为带时间戳的压缩包,便于版本管理与离线存档,同时避免单个文件误删导致信息缺失。

1、进入导出根目录:
cd /opt/kylin-config-export

2、获取最新子目录名:
LATEST_DIR=$(ls -td */ | head -n1)

3、生成归档包(格式为tar.gz,保留权限与符号链接):
tar -czf kylin-config-$(date +%Y%m%d_%H%M%S).tar.gz "$LATEST_DIR"

4、验证归档完整性:
tar -tzf kylin-config-$(date +%Y%m%d_%H%M%S).tar.gz | head -n10

5、设置只读权限防止意外修改:
chmod 444 kylin-config-$(date +%Y%m%d_%H%M%S).tar.gz

三、构建自动化环境备份脚本

该脚本整合配置导出、软件包清单采集、自定义目录同步三项能力,支持定时执行与目标路径灵活指定,适配桌面版与服务器版麒麟OS。

1、创建脚本文件:
sudo tee /usr/local/bin/kylin-env-backup.sh

#!/bin/bash

# 配置区(按需修改)

BACKUP_ROOT="/backup/env"

SOURCE_DIRS=("/etc" "/opt" "/usr/local/bin" "/var/log/journal")

EXCLUDE_LIST="--exclude=/etc/ssl/private --exclude=/etc/shadow --exclude=/etc/passwd"

# 自动创建备份目录

mkdir -p "${BACKUP_ROOT}/$(date +%Y%m)/$(date +%d)"

BACKUP_DIR="${BACKUP_ROOT}/$(date +%Y%m)/$(date +%d)"

# 导出系统配置(复用前述逻辑)

mkdir -p "${BACKUP_DIR}/config"

hostnamectl > "${BACKUP_DIR}/config/hostnamectl.txt"

ip addr show > "${BACKUP_DIR}/config/ip_addr.txt"

systemctl list-unit-files --state=enabled | grep service > "${BACKUP_DIR}/config/enabled_services.txt"

# 导出已安装软件包列表

dpkg -l | grep ^ii > "${BACKUP_DIR}/config/dpkg_list.txt"

# 同步指定目录(使用rsync保持属性)

for DIR in "${SOURCE_DIRS[@]}"; do

  if [ -d "$DIR" ]; then

    rsync -aHAX --delete-after $EXCLUDE_LIST "$DIR/" "${BACKUP_DIR}/sync/$(basename "$DIR")/"

  fi

done

# 打包配置目录

tar -czf "${BACKUP_DIR}/config.tar.gz" -C "${BACKUP_DIR}" config/

# 清理临时解压残留(如有)

find "${BACKUP_DIR}" -name "*.tmp" -delete

EOF

2、赋予执行权限:
sudo chmod +x /usr/local/bin/kylin-env-backup.sh

3、验证脚本语法与基础执行:
sudo /usr/local/bin/kylin-env-backup.sh

4、检查输出结构是否符合预期:
ls -R /backup/env/$(date +%Y%m)/$(date +%d)

四、配置每日定时执行

通过cron机制实现无人值守的周期性环境备份,确保配置变更被及时捕获,且不干扰日常业务运行。

1、编辑root用户的crontab:
sudo crontab -e

2、添加以下行(每日凌晨3:15执行):
15 3 * * * /usr/local/bin/kylin-env-backup.sh >/dev/null 2>&1

3、确认任务已加载:
sudo crontab -l | grep kylin-env-backup

4、手动触发一次测试任务并观察日志:
sudo /usr/local/bin/kylin-env-backup.sh

5、检查备份目录时间戳与内容完整性:
ls -lt /backup/env/$(date +%Y%m)/ | head -n3

五、安全存储与访问控制

备份数据本身具有高敏感性,必须限制访问权限并启用加密保护,防止未授权读取或篡改,尤其当备份介质外带或跨网络传输时。

1、设置备份根目录属主与权限:
sudo chown -R root:root /backup/env
sudo chmod 700 /backup/env

2、对当日压缩包强制启用GPG加密(需提前配置GPG密钥):
gpg --encrypt --recipient admin@kylin.local --output "${BACKUP_DIR}/config.tar.gz.gpg" "${BACKUP_DIR}/config.tar.gz"

3、删除明文压缩包:
rm -f "${BACKUP_DIR}/config.tar.gz"

4、验证加密文件可解密:
gpg --decrypt "${BACKUP_DIR}/config.tar.gz.gpg" | head -c 100 &>/dev/null && echo "加密验证通过" || echo "验证失败"

5、配置自动清理策略(仅保留最近7天备份):
find /backup/env -type d -mtime +7 -name "$(date -d '7 days ago' +%Y%m)/$(date -d '7 days ago' +%d)" -exec rm -rf {} \;

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
c语言中null和NULL的区别
c语言中null和NULL的区别

c语言中null和NULL的区别是:null是C语言中的一个宏定义,通常用来表示一个空指针,可以用于初始化指针变量,或者在条件语句中判断指针是否为空;NULL是C语言中的一个预定义常量,通常用来表示一个空值,用于表示一个空的指针、空的指针数组或者空的结构体指针。

240

2023.09.22

java中null的用法
java中null的用法

在Java中,null表示一个引用类型的变量不指向任何对象。可以将null赋值给任何引用类型的变量,包括类、接口、数组、字符串等。想了解更多null的相关内容,可以阅读本专题下面的文章。

600

2024.03.01

if什么意思
if什么意思

if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。

796

2023.08.22

数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

280

2023.11.13

drop和delete的区别
drop和delete的区别

drop和delete的区别:1、功能与用途;2、操作对象;3、可逆性;4、空间释放;5、执行速度与效率;6、与其他命令的交互;7、影响的持久性;8、语法和执行;9、触发器与约束;10、事务处理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

216

2023.12.29

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

224

2023.12.07

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

224

2023.12.07

PHP 命令行脚本与自动化任务开发
PHP 命令行脚本与自动化任务开发

本专题系统讲解 PHP 在命令行环境(CLI)下的开发与应用,内容涵盖 PHP CLI 基础、参数解析、文件与目录操作、日志输出、异常处理,以及与 Linux 定时任务(Cron)的结合使用。通过实战示例,帮助开发者掌握使用 PHP 构建 自动化脚本、批处理工具与后台任务程序 的能力。

44

2025.12.13

1688阿里巴巴货源平台入口与批发采购指南
1688阿里巴巴货源平台入口与批发采购指南

本专题整理了1688阿里巴巴批发进货平台的最新入口地址与在线采购指南,帮助用户快速找到官方网站入口,了解如何进行批发采购、货源选择以及厂家直销等功能,提升采购效率与平台使用体验。

74

2026.02.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Go 教程
Go 教程

共32课时 | 4.7万人学习

Go语言实战之 GraphQL
Go语言实战之 GraphQL

共10课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号