在 CentOS(以及大多数 Linux 系统)中,“Context”通常指 SELinux 上下文(Security Context) 或 系统上下文环境。下面我按**最常见的几种“Context 备份场景”**分别说明,你可以对号入座。
ls -Z
ps -Z
使用 semanage 和 restorecon 配套方式:
semanage fcontext -l > selinux_fcontext_backup.txt
getfattr -d -m ".*" /path/to/dir -R > selinux_backup.attr
恢复:
setfattr --restore=selinux_backup.attr
semanage export > selinux_policy_backup.txt
恢复:
semanage import < selinux_policy_backup.txt
env > env_backup.txt
或只备份用户环境:
cat ~/.bashrc ~/.bash_profile > user_env_backup.txt
cp -a /etc/profile /etc/profile.d /backup/
systemctl list-units --type=service --state=running > services_running.txt
tar czvf centos_config_backup.tar.gz \
/etc \
/root \
/home \
/var/spool/cron
tar 保留 SELinux Context(非常重要)tar czvf backup.tar.gz --selinux /data
恢复:
tar xzvf backup.tar.gz --selinux -C /
⚠️ 注意:
| 问题 | 说明 |
|---|---|
| 恢复后 Context 丢失 | 未使用 --selinux |
| SELinux 拒绝访问 | 未恢复正确 Context |
| 系统无法启动 | 误改 /etc/selinux/config |
✅ 只关心 SELinux
semanage export > selinux_backup.txt
✅ 数据 + Context 一起备份
tar czvf data_backup.tar.gz --selinux /data
✅ 系统级 Context
semanage fcontext -l > fcontext_backup.txt
如果你指的是 Docker / Kubernetes / 特定软件(如 PostgreSQL、Nginx)的 Context,可以告诉我具体场景,我可以给你更精确的备份方案。