如何使用Perl模組與主機z/OS系統互動

來源:互聯網
上載者:User

Perl 經常用於開放平台上的系統配置和管理自動化, 但也可以靈活運用在主機系統上。本文將介紹CPAN上與z/OS相關的三個Perl模組Net::FTP、 MVS::JESFTP和Net::Telnet,並結合執行個體講解其用法和注意事項。使用這些模組將有助於提高z/OS系統管理員和測試人員的工作效率。

1 簡介

 在日常工作中,通常會使用不同的工具在PC與z/OS系統之間進行互動。我們可以使用FTP上傳或下載各種資料集。 主機的FTP server還提供了與JES進行互動的功能[1],我們便能在PC端直接使用FTP提交JCL作業到主機運行,並將作業在Spool中的輸出接收到 PC。另外,利用常用的網路連接工具(RLogin/SSH/Telnet)能與z/OS Unix終端互動[2],從而實現遠程執行Unix或者TSO命令。
   Perl是一種指令碼語言,有著強大的文本處理能力和靈活的文法形式。同時,Perl也是開放平台上重要的系統管理工具。此外,Perl的綜合典藏庫 CPAN[4]的資源特別豐富,提供了上萬個模組,涉及到系統管理的各個方面[5]。這些模組不僅成為了系統管理員的工具 + 生產力,也彙集了他們的實踐經驗。 本文將結合三個CPAN模組,介紹如何使用Perl來完成PC與主機之間常見的互動任務。

2 使用Net::FTP模組下載資料

Net::FTP[6]是隨Perl語言一起發布的核心模組。 這個模組實現了一個簡單的FTP用戶端,封裝了RFC959(FILE TRANSFER PROTOCOL)的常用介面。

Net::FTP主要介面的用法如下[2]:

 use Net::FTP;

$ftp = Net::FTP->new(“ftp.host.com”) or die “Can’t connect: $@\n”;

$ftp->login($username, $password)      or die “Couldn’t login\n”;

$ftp->cwd($directory)                  or die “Couldn’t change directory\n”;

$ftp->get($filename)                  or die “Couldn’t get $filename\n”;

$ftp->put($filename)                  or die “Couldn’t put $filename\n”;

接下來將介紹如何使用Net::FTP從主機下載及上傳不同類型的資料:Unix檔案,PS,PDS類型的資料集。

2.1 下載上傳Unix檔案

z/OS 系統提供的USS(UNIX System Service)[2]滿足POSIX標準,提供了樹型檔案結構。我們可以直接調用get介面下載USS系統 中的Unix檔案。比如,需要從USS下載一個記錄檔failures.log,它位於目錄/user/log,範例程式碼如下:

$pathname = “/user/log”;

$logfile  =  “failures.log”;

$ftp = Net::FTP->new(“ftp.host.com”, # FTP服務端地址

                          Timeout => 30,   # 放棄串連前等待秒數

                          Debug   => 1)     # 將輸出所有命令到標準錯誤

$ftp->login($username, $password);

$ftp->ascii();                    # ASCII方式傳輸,CRLF將會被自動轉換

$ftp->cwd($pathname);

$ftp->get($logfile);

 $ftp->close();

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.