Linux经FTPS传.gz至z/OS后PKUNZIP报PEX013W,如何优化SITE命令?
解决FTPS传输.gz文件到z/OS后PKUNZIP的截断警告问题
这个PEX013W警告的核心原因很明确——你给传输到z/OS的.gz文件设置了RECFM=VB(可变长块记录格式)和LRECL=1000。VB格式的每条记录开头会自带4字节的记录描述符,这意味着实际能容纳的有效数据长度是LRECL - 4 = 996字节。而PKUNZIP解压出来的第一条原始记录是1000字节,自然就触发了截断警告。
调整后的SITE命令集
因为.gz是纯二进制压缩文件,它本身没有z/OS系统特有的“记录”概念,所以传输这类文件时,应该用**无格式记录(RECFM=U)**来存储,这样z/OS不会给文件添加任何额外的记录结构,完全保留原始二进制内容。
你可以替换成以下SITE命令:
SITE TRAIL 200 SITE CYLINDERS PRIMARY=50 SECONDARY=50 SITE RECFM=U BLKSIZE=32000 SITE CONDDISP=delete TYPE I
关键说明
- 保留
TYPE I(Image模式):确保.gz文件的字节内容在传输过程中完全不被修改,这一步你原本就做对了。 - 替换
RECFM=VB LRECL=1000为RECFM=U:无格式记录不会给文件添加任何描述符,让PKUNZIP能读取到完整的压缩内容,解压时就不会出现记录被截断的情况。 BLKSIZE=32000可以保留,只要符合你的存储设备块大小要求即可。
这样修改后,再次传输文件并执行PKUNZIP解压,那个PEX013W警告就会消失,同时解压后的文件依然能正常读取。
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

