- 论坛徽章:
- 0
|
用ftp传机器配置文件的问题?
谢谢,老许,已经解决。自己根据提示,又重新打印了机器配置,这次就ok了。
在IBM网站找到这么一篇文章,对splf的备份介绍的不错。
提要 假脱机文件SPLF(Spooled File)在OS/400里不属于对象(object),所以不能使用操作系统命令进行备份.有些客户认为,通过保存输出队列对象(OUTQ)可以把所有的SPLF保存下来.这个想法是不正确的!保存OUTQ只是保存了OUTQ的描述,而不是它里面的内容 -- SPLF.
可以通过使用CPYSPLF命令将SPLF内容复制到数据库文件PF中,再把PF通过SAVOBJ/SAVLIB等命令保存起来.但CPYSPLF命令只复制上下文数据而不复制诸如图形和可变字体的高级功能属性,所以该命令不能提供保存SPLF的完整解决方案.
要保存SPLF,包括与它有关联的所有高级功能属性,系统提供以下API:
打开假脱机文件, Open Spooled File (QSPOPNSP)
创建假脱机文件, Create Spooled File(QSPCRTSP)
获取假脱机文件数据, Get Spooled File Data(QSPGETSP)
放置假脱机文件数据, Put Spooled File Data(QSPPUTSP)
关闭假脱机文件, Close Spooled File(QSPCLOSP)
用户假脱机文件属性, User Spooled File Attributes(QUSRSPLA)
请参阅系统API参考手册.如果不希望自己开发,也可以直接使用QUSRTOOL中提供的"SAVRSTSPLF"工具实现对SPLF的存储和恢复.详细介绍请参阅下文.
(一)介绍QUSRTOOL库中的工具
在每一版OS/400操作系统中都有IBM提供的客户化的小工具:
1. 首先,要使用这些客户化的小工具,必需安装操作系统的可选安装项:
5722SS1 Opt7 -->; OS/400 - Example Tools Library
这样,您会在系统中找到一个产品库: QUSRTOOL. QUSRTOOL库含有的工具软件可以提供操作系统OS/400无法完成的一些功能.
2. 产品库QUSRTOOL中的文件QATTINFO将详细描述该版本操作系统提供的工具清单,请用以下命令阅读:
STRPDM -->; 3 -->; QUSRTOOL/QATTINFO -->; 5. 显示成员 AAAAREADME 和 AAAMAP .
3. 其中就包含工具:Save and Restore Spooled Files Tool (SAVRSTSPLF)
这个工具就是使用系统提供的SPLF相关API函数开发的.
希望了解工具的具体信息,请仔细阅读:
STRPDM -->; 3 -->; QUSRTOOL/QATTINFO -->; 5. 显示成员 TSRINFO.
工具是以源代码形式存在在QUSRTOOL库下的,必须经过编译,才能生成真正的可用工具:
Source Member Source File Description
TSRCRT QATTCL Source for Install Program
TSRDLT QATTCL Source for Delete Program
TSRCRLB QATTCL Source for TSRCRLB program
TSRSAVC QATTCMD Source for ZSAVSPLF Command
TSRRSTC QATTCMD Source for ZRSTSPLF Command
OPUSAPI QATTSYS C Include File for US APIs
OPSPAPI QATTSYS CQATTSYSC C Include File for SP APIs
TSRSAV QATTSYS Source for TSRSAV Program
TSRRST QATTSYS Source for TSRRST Program
(二)创建SAVRSTSPLF工具:
1. 创建一个用来存放编译出的工具程序的库(Lib):
CRTLIB splfTools
2. 把这个库加入系统库列表:
ADDLIBLE splftools
3. 创建工具:
CRTCLPGM PGM(splftools/TSRCRT) SRCFILE(QUSRTOOL/QATTCL)
CALL splftools/TSRCRT splftools
以下对象将在splftools库中被创建:
(三)使用ZSAVSPLF命令保存SPLF:
使用ZSAVSPLF命令保存SPLF,举例如下:
ZSAVSPLF USER(*CURRENT) QUEUE(QGPL/OUTQ1) FORM(*STD) USRDTA(*ALL) LIB(MYSAVLIB) DEVICE(*NONE)
注意,SPLF所要保存进的LIB库,如果已经在系统里存在,会被先删除,再重新创建一遍.
(四)使用ZRSTSPLF命令恢复SPLF:
使用ZRSTSPLF命令恢复SPLF,举例如下:
ZRSTSPLF SAVLIB(MYSAVLIB) DEVICE(*NONE)
所有保存的SPLF会被恢复进对应的OUTQ里.如果那个对应的OUTQ在当前系统里不存在,它们会被转放进QGPL库下的OUTQ - QPRINT里. |
|