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)的操作。