SunOS 5.5.1系统/var目录恢复实战:跨机拷贝解决方案


阅读 3 次

问题场景还原

在一次SunOS 5.5.1系统的备份恢复操作后,发现/var目录意外变为空目录。由于该目录包含系统运行时的关键数据(如日志、邮件、打印队列等),需要从另一台相同版本的工作机进行完整恢复。

跨机拷贝方案选择

在Unix-like系统中,常用的远程拷贝工具包括:


# 方案1:使用tar+ssh组合(推荐)
(源机器执行)
tar cf - /var | ssh username@target_host "cd / && tar xvf -"

# 方案2:rsync增量同步(需安装)
rsync -avz --delete /var/ username@target_host:/var/

权限处理要点

SunOS特有的权限问题需要注意:


# 恢复后检查重要目录权限
chmod 775 /var/mail
chown root:sys /var/adm

关键目录验证清单

  • /var/spool/cron - 用户crontab文件
  • /var/sadm/install - 软件包数据库
  • /var/ldap/ - LDAP相关数据(如有)

自动化脚本示例

以下脚本可自动完成校验和恢复:


#!/bin/sh
# SunOS_var_restore.sh
SOURCE_HOST="backup_host"
LOG_FILE="/tmp/var_restore.log"

{
  echo "Starting /var restoration at $(date)"
  ssh $SOURCE_HOST "cd / && tar cf - var" | (cd / && tar xvf -)
  /usr/bin/chmod -R a+rX /var/log
  /usr/sbin/chown -R root:other /var/tmp
} > $LOG_FILE 2>&1

故障排查记录

常见错误及解决方法:


# 错误1:空间不足
df -k /var
# 解决方法:先清理目标机/var/cache/目录

# 错误2:ACL权限问题
/usr/bin/ls -V /var/adm
# 解决方法:使用setfacl重置ACL

后续维护建议

建议建立定期校验机制:


# 每周校验目录完整性
find /var -type f -exec cksum {} \; > /var/.system_integrity_db