如何备份Linux服务配置 systemd-preset保存设置
发布时间 - 2025-07-11 00:00:00 点击率:次systemd-preset 是用于批量保存和恢复服务启用状态的工具。其核心用途包括:在部署或迁移时统一服务启停策略、备份当前服务状态、快速还原配置。操作步骤为:1. 使用 systemctl 命令导出已启用服务并生成 .preset 文件;2. 将文件保存至 /etc/systemd/system-preset/ 目录;3. 在目标系统上复制该文件并执行 systemd-preset --now apply 进行还原。注意事项包括:/etc 下的配置优先级高于 /usr/lib,可使用通配符匹配服务,避免修改默认文件以防升级覆盖,需手动处理服务模板实例。
在Linux系统中,如果你需要批量保存或恢复systemd服务的启用/禁用状态,比如在迁移服务器或者重建环境时,systemd 自带的 systemd-preset 工具就非常实用。它能帮助你把当前服务的 preset 状态保存下来,并在其他系统上快速还原
。
下面是一些实际操作建议和使用技巧:
什么是 systemd-preset?
systemd-preset 是 systemd 提供的一个命令行工具,用于根据预设规则决定哪些单元(unit)应该被启用或禁用。这些规则通常存储在 /usr/lib/systemd/system-preset/ 和 /etc/systemd/system-preset/ 目录下的 .preset 文件中。
它的典型用途包括:
- 在部署新系统时快速设置默认启用的服务
- 统一多个服务器之间的服务启停策略
- 备份当前系统的服务启用状态以便后续恢复
如何保存当前服务状态为 preset 文件?
你可以通过以下步骤将当前已启用或禁用的服务导出为一个 .preset 文件:
-
列出所有启用的服务:
systemctl list-unit-files --type=service --state=enabled
-
生成 preset 文件内容(手动方式):
可以写个小脚本自动提取这些服务名并加上
enable指令,例如:systemctl list-unit-files --type=service --state=enabled | awk '{print $1}' | grep -v "@" | xargs -I {} echo "enable {}" -
保存为 .preset 文件:
把输出保存到
/etc/systemd/system-preset/your-config.preset中,这样优先级更高。 -
应用新的 preset 设置(可选):
systemd-preset --root=/ apply
如果你在当前系统上运行,可以省略
--root=/。
如何在新系统中还原服务配置?
当你有了之前保存的 .preset 文件,可以在新系统中执行以下操作来还原服务启停状态:
将
.preset文件复制到目标系统的/etc/systemd/system-preset/目录下。-
执行应用命令:
sudo systemd-preset --now apply
加上
--now表示立即生效,否则只更新配置不触发动作。
注意:某些服务可能依赖特定软件包或配置文件,确保目标系统已安装相关组件。
常见问题与注意事项
-
优先级问题:
/etc/systemd/system-preset/下的配置会覆盖/usr/lib/systemd/system-preset/的内容。 -
通配符支持:可以在
.preset文件中使用通配符,例如enable *.service来匹配一组服务。 -
不推荐直接修改原始 preset 文件:最好新建一个自己的
.preset文件,避免升级后被覆盖。 -
服务模板(@xxx.service)处理:这类服务不会被默认列出,如果要启用实例,需显式指定,如
enable sshd@myinstance.service。
基本上就这些。掌握了 systemd-preset 的使用方法,你就可以更高效地管理和备份 Linux 系统中的服务启停状态了。
# linux
# 工具
# 自己的
# 如果你
# 目录下
# 你可以
# 多个
# 你在
# 当你
# 并在
# 这类
# 软件包
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
西安专业网站制作公司有哪些,陕西省建行官方网站?
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
Swift中swift中的switch 语句
猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?
jQuery validate插件功能与用法详解
Laravel如何使用Collections进行数据处理?(实用方法示例)
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
Laravel API资源类怎么用_Laravel API Resource数据转换
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】
java获取注册ip实例
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
如何在阿里云通过域名搭建网站?
网站建设整体流程解析,建站其实很容易!
Laravel如何处理表单验证?(Requests代码示例)
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
活动邀请函制作网站有哪些,活动邀请函文案?
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
MySQL查询结果复制到新表的方法(更新、插入)
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
如何在云指建站中生成FTP站点?
Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】
如何打造高效商业网站?建站目的决定转化率
Python文本处理实践_日志清洗解析【指导】
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
如何在Windows环境下新建FTP站点并设置权限?
Laravel DB事务怎么使用_Laravel数据库事务回滚操作
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
Python结构化数据采集_字段抽取解析【教程】
制作企业网站建设方案,怎样建设一个公司网站?
高防服务器租用指南:配置选择与快速部署攻略
Laravel怎么使用Markdown渲染文档_Laravel将Markdown内容转HTML页面展示【实战】
如何快速搭建高效WAP手机网站吸引移动用户?
LinuxShell函数封装方法_脚本复用设计思路【教程】
Android自定义控件实现温度旋转按钮效果
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
php静态变量怎么调试_php静态变量作用域调试技巧【解答】
Laravel如何配置和使用队列处理异步任务_Laravel队列驱动与任务分发实例
JavaScript如何实现错误处理_try...catch如何捕获异常?
如何用腾讯建站主机快速创建免费网站?
如何选择可靠的免备案建站服务器?
如何用美橙互联一键搭建多站合一网站?

