在 CentOS 上,“Context” 通常指 SELinux 上下文(Security Context)。下面按常见场景说明如何备份与恢复。
使用 semanage 和 restorecon 的组合方式最稳妥。
semanage fcontext -l > selinux_fcontext_backup.txt
恢复时(手动对照)或用于迁移参考。
ls -Z /path/to/dir > selinux_context_backup.txt
或递归:
ls -lZR /path/to/dir > selinux_context_backup.txt
restorecon 原理备份(策略级)SELinux 上下文通常由 策略 + 规则 决定,而不是单个文件。
查看当前自定义规则:
semanage fcontext -l -C
备份自定义规则:
semanage fcontext -l -C > selinux_custom_context.txt
restorecon -Rv /path/to/dir
restorecon -Rv /
(⚠️ 谨慎操作,可能影响运行中的服务)
cp -a /etc/selinux /etc/selinux.backup
getenforce
sestatus
env > env_backup.txt
cp ~/.bashrc ~/.bash_profile /backup/
❌ 直接复制 SELinux context 文件 ≠ 可用
✅ SELinux context 必须结合策略恢复
| 目的 | 建议方式 |
|---|---|
| 备份 SELinux 规则 | semanage fcontext -l -C |
| 恢复文件 Context | restorecon -Rv |
| 迁移系统 | 备份 /etc/selinux |
| 查看当前 Context | ls -Z |
如果你指的是 Docker / Podman / systemd / 某个具体服务(如 Nginx、Kubernetes) 的 Context,可以告诉我,我可以给你更精确的备份方案。