网管员世界2009超值精华本
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

Windows机备份UNIX文件

北京 李晨光

UNIX系统因其稳定可靠的特点而在各个行业得到广泛应用,但它的数据维护对于专业技术人员来说也不是一件轻松的事。笔者单位所维护的系统安装有SCO UNIX 5操作系统、业务系统,平时备份都用磁带,当数据不大时,用CDRTools这套工具备份到CD上。但是,磁带不但有使用寿命问题,还容易出错。有没有办法能够很快对数据进行备份与保存呢?

笔者试验了一种通过SMB传输数据的方法来高效备份数据。当OpenServer 5.05系统管理员希望将Windows SMB客户机共享备份成tar文件时,通过使用安装在OpenServer 5.05中的Samba来实现。然后使用这些tar文件将文档恢复到任何一个带有SMB共享的Windows PC中,或是使用tar或者Microlite Backup 2.2恢复到OpenServer系统中。

软件准备工作

我们的目标是,在工作组环境将UNIX机中的数据复制到Windows机器上。

为了让Windows和UNIX计算机相集成,最好的办法就是在UNIX中安装支持SMB/CIFS协议的软件,这样Windows客户就能如同使用Windows一样使用UNIX计算机上的资源了。在UNIX系统中,“Samba”是通过TCP/IP的SMB(服务器信息块)协议在网络上的计算机之间远程共享UNIX文件和打印服务的软件包,而且Samba属于GNU Public License(简称GPL)的软件,因此,您可以合法且免费地使用它。

SMB是基于NetBIOS的协议,它一直是与Microsoft的操作系统混在一起进行开发的,为网络资源和桌面应用之间提供了紧密的接口。

与使用PC-NFS、FTP和LPR等协议相比,使用SMB协议,能把二者结合得更加紧密。注意:对需要备份的Windows客户机共享,需要有完全的设置权限,并需要有具体的用户名与密码,以便安全访问Windows共享。

安装启用Samba

在UNIX机上安装Samba

如果在SCOUNIX上没有安装Samba,我们需要先在UNIX机上安装Samba服务。

1.下载并解压缩Samba

在SCO网站上下载Samba 3.0.2 For SCO OpenServer 5,解压缩:

      root#tar xvf?samba_3.0.23_rs505a.tar

2.安装Samba

在UNIX的控制台下,选择SCO Admin图标或是在字符界面下输入:

      root#scoadmin software

单击【Software】菜单下的【Install New】命令并按回车键,选择从“ScoOpen”进行安装。然后分别选择安装介质为“Media Images”、Image文件目录为“/bak”、完全安装。

在UNIX机上启用Samba功能

1.启动Samba

      root#/sbin/init.d/samba start

2.测试Samba

      Root#/usr/local/samba/bin/smbd V

3.Samba命令语句解释(下面需用到的)

用法:smbtar [<options>] [<include/exclude files>]

功能:将Windows PC目录备份/恢复到本地磁盘文件中Options:(描述)(默认)

-r从磁盘文件恢复至PC,从PC保存成磁盘文件

-i增加命令或全备份命令

-v详细命令:回应或不回应

-s <server name> 指定的PC服务器

-p <password> 指定的密码

-x <share> 指定的PC共享备份

-u <user>指定用户名root

-t <tape>指定磁盘设置tar.out

其他还有-r -I -a -X -b -d -l等参数,大家可以自己去查手册。

数据备份操作

我们的实验环境如图1所示:

SCO UNIX Server IP :10.32.22.6

Windows Server IP :10.32.22.5

图1 操作环境

Windows服务器备份UNIX数据,首先在Windows Server上设置好Windows PC的共享文件夹权限,除了完全控制以外,其他都勾选(如图2所示)。

图2 设置共享权限

注意

由于在UNIX系统环境下不能通过Windows Active Directory用户认证,只能在工作组环境下用,而不能在主域控制器模式下使用。如果您的机器用了FireWall,还要开放几个端口:tcp 139455 udp 137138。

1.本地备份(在UNIX机上操作)

用tar命令将整个目录备份,首先将所有应用全部停止,一旦有一个应用没有退出,备份就会失败。

root# tar cvf /bak/tapefile_on_unix_server.tar /u/Informix

这行命令表示将备份Informix数据库系统,在本地文件系统中生成文件tapefile_on_unix_server.tar

2.异地备份

在UNIX机上输入如下命令,UNIX机上的数据就会直接送到Windows机上了。

      root#smbtar-v-10.32.22.5-p password -x scounixfile -u
scounix -t bak/tapefile_on_unix_server.tar

注意

此命令是一条命令,需要一次完全的单命令输入,而且在Windows Server系统里要事先创建好用户ScoUNIX,密码为password。

如果授权正确,此时在10.32.22.5 的机器上(Windows机)创建一个名为:tapefile_on_unix_server.tar的文件(该tar文档可以使用UNIX下标准的tar命令进行访问)。这样我们就完成了将UNIX PC(IP 10.32.22.6)数据备份到Windows PC(IP 10.32.22.5)的操作。