Skip to content

30. 附录与维护建议

本章节指导在 RHEL 8.10(主机名 ZSLinux)上使用 SecureCRT 进行配置记录和备份恢复,配合 SecureFX 传输备份文件。内容涵盖系统配置记录(服务、防火墙、SELinux)、备份与恢复流程、维护建议,以确保系统可恢复性和长期稳定性为例,全面实用,适合初学者快速掌握和运维人员日常维护。所有操作在 ZSLinux 环境中测试,确保实验一致性。

30.1 前提条件

  • RHEL 8.10 已安装(参考第 1 章),主机名设置为 ZSLinux.
  • 使用 SecureCRT 登录(SSH2 协议,端口 2222,参考第 6 章).
  • 使用 SecureFX 传输文件(SFTP 协议).
  • 具有 root 或 sudo 权限.
  • 系统已订阅并启用 RHEL 和 EPEL 仓库(参考第 4 和 7 章).
  • 防火墙和 SELinux 启用(参考第 13 章).
  • 网络连接正常,时间同步配置完成(参考第 3 章).
  • 备份目录(如 /backup)已创建并具有适当权限.

30.2 配置记录

30.2.1 记录系统配置

  • 创建配置记录文件:
    bash
    mkdir -p /root/config-records  # 创建配置记录目录
    echo "Hostname: ZSLinux, SSH Port: 2222, Root Login: Disabled" > /root/config-records/system-config.txt  # 记录系统基本配置
  • 记录服务配置:
    bash
    systemctl list-units --type=service --state=enabled > /root/config-records/services-enabled.txt  # 记录启用服务
    crontab -l > /root/config-records/crontab-backup.txt  # 备份当前用户的 crontab 配置
  • 记录防火墙和 SELinux 配置:
    bash
    firewall-cmd --list-all-zones > /root/config-records/firewall-config.txt  # 记录防火墙配置
    getenforce > /root/config-records/selinux-status.txt  # 记录 SELinux 状态
    semanage port -l > /root/config-records/selinux-ports.txt  # 记录 SELinux 端口配置

30.2.2 传输配置记录

  • 使用 SecureFX 传输记录到远程服务器:
    bash
    rsync -av /root/config-records/ root@192.168.1.200:/backup/config-records  # 传输记录到远程服务器

30.3 备份与恢复

30.3.1 系统备份

  • 创建备份目录:
    bash
    mkdir -p /backup  # 创建备份目录
    chown root:root /backup  # 设置备份目录权限
    chmod 700 /backup  # 限制访问权限
  • 创建系统备份:
    bash
    tar -czf /backup/system-$(date +%F).tar.gz /etc /var /home  # 备份关键目录

30.3.2 验证备份

  • 验证备份文件完整性:
    bash
    tar -tzf /backup/system-$(date +%F).tar.gz  # 检查备份文件内容

30.3.3 恢复备份

  • 恢复特定文件(如 /etc/fstab):
    bash
    tar -xzf /backup/system-$(date +%F).tar.gz -C /tmp etc/fstab  # 提取 fstab 到临时目录
    mv /tmp/etc/fstab /etc/fstab  # 恢复 fstab 文件
    restorecon -v /etc/fstab  # 恢复 SELinux 上下文
  • 恢复整个目录:
    bash
    tar -xzf /backup/system-$(date +%F).tar.gz -C /  # 恢复整个备份
    restorecon -R -v /etc /var /home  # 恢复 SELinux 上下文

30.4 验证与维护

  • 验证配置记录:
    bash
    cat /root/config-records/system-config.txt  # 检查系统配置记录
    diff /root/config-records/services-enabled.txt <(systemctl list-units --type=service --state=enabled)  # 比较当前服务状态
  • 验证备份:
    bash
    tar -tvf /backup/system-$(date +%F).tar.gz | grep fstab  # 验证 fstab 是否在备份中
  • 测试 SSH 连接:
    bash
    ssh -p 2222 testuser@ZSLinux  # 测试 SSH 连接(参考第 6 章)
  • 维护建议:
    • 定期备份:配置 cron 任务每周备份:
      bash
      crontab -e
      # 添加:
      0 2 * * 0 tar -czf /backup/system-$(date +%F).tar.gz /etc /var /home  # 每周日凌晨2点备份
    • 记录更新:每次修改系统配置(如防火墙、SELinux)后更新 /root/config-records.
    • 远程备份:使用 SecureFX 定期传输备份到远程服务器(rsync -av /backup root@192.168.1.200:/backup)。
    • SOS 报告:定期生成系统报告:
      bash
      sosreport --only-plugins=system,filesys  # 生成系统和文件系统报告
  • 故障排查:
    • 备份失败:检查磁盘空间(df -h /backup)或权限(ls -ld /backup)。
    • 恢复失败:验证备份完整性(tar -tzf)或 SELinux 上下文(ls -Z /etc/fstab)。
    • 配置记录丢失:检查 /root/config-records 权限(ls -ld /root/config-records)或 rsync 日志(journalctl -u sshd)。

30.5 实践任务

  1. 使用 SecureCRT 登录 ZSLinux,记录 SSH 端口和防火墙配置到 /root/config-records.
  2. 创建 /etc/var 的备份并传输到远程服务器(192.168.1.200)。
  3. 恢复 /etc/fstab 并验证 SELinux 上下文。
  4. 配置 cron 任务每周备份 /home.

30.6 自测问题

  • 问题:如何记录启用服务列表?
    • 答案systemctl list-units --type=service --state=enabled > /root/config-records/services-enabled.txt
  • 问题:如何恢复 /etc/fstab
    • 答案tar -xzf /backup/system-$(date +%F).tar.gz -C /tmp etc/fstab; mv /tmp/etc/fstab /etc/fstab; restorecon -v /etc/fstab
  • 问题:如何定期备份系统?
    • 答案:编辑 crontab -e,添加 0 2 * * 0 tar -czf /backup/system-$(date +%F).tar.gz /etc /var /home

Released under the MIT License.