本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
M2SFTP 是一種 JCL 公用程式,旨在使用安全檔案傳輸通訊協定 (SFTP) 在系統之間執行安全的檔案傳輸。此程式使用 Putty SFTP 用戶端 psftp
來執行實際的檔案傳輸。此程式的運作方式類似於大型主機 FTP 公用程式,並使用使用者和密碼身分驗證。
注意
不支援公有金鑰身分驗證。
若要將您的大型主機 FTP JCLs 轉換為使用 SFTP,請將 PGM=FTP
變更為 PGM=M2SFTP
。
主題
支援平台
您可以在下列任何平台上使用 M2SFTP:
-
AWS Mainframe Modernization Rocket Software (先前稱為 Micro Focus) 受管
-
Rocket 軟體執行期 (在 Amazon EC2 上)
-
Rocket Software Enterprise Developer (ED) 和 Rocket Software Enterprise Server (ES) 產品的所有變體。
安裝相依項目
在 Windows 上安裝 Putty SFTP 用戶端
-
下載 PuTTY SFTP
用戶端並進行安裝。
在 Linux 上安裝 Putty SFTP 用戶端:
-
執行下列命令來安裝 Putty SFTP 用戶端:
sudo yum -y install putty
為 AWS 大型主機現代化受管設定 M2SFTP
如果您的遷移應用程式在 AWS Mainframe Modernization Managed 上執行,您將需要設定 M2SFTP,如下所示。
-
為 MFFTP 設定適當的 Rocket Enterprise Server 環境變數。以下是幾個範例:
-
MFFTP_TEMP_DIR
-
MFFTP_SENDEOL
-
MFFTP_TIME
-
MFFTP_ABEND
您可以視需要設定任意數量的這些變數。您可以使用
ENVAR DD
陳述式在 JCL 中設定它們。如需這些變數的詳細資訊,請參閱 Micro Focus 文件中的 MFFTP 控制變數。 -
若要測試您的組態,請參閱 範例 JCLs。
在 Amazon EC22 上為大型主機現代化執行時間設定 M2SFTP (包括 AppStream 2.0) AWS
如果您遷移的應用程式在 Amazon EC2 上的 AWS Mainframe Modernization 執行時間上執行,請設定 M2SFTP,如下所示。
-
變更 Micro Focus JES 程式路徑
,以包含批次公用程式的二進位位置。如果您需要指定多個路徑,請使用冒號 ( :
) 來分隔 Linux 上的路徑和 Windows 上的分號 (;
)。-
Linux:
/opt/aws/m2/microfocus/utilities/64bit
-
Windows (32 位元):
C:\AWS\M2\MicroFocus\Utilities\32bit
-
Windows (64 位元):
C:\AWS\M2\MicroFocus\Utilities\64bit
-
-
為 MFFTP 設定適當的 Rocket Enterprise Server 環境變數。以下是幾個範例:
-
MFFTP_TEMP_DIR
-
MFFTP_SENDEOL
-
MFFTP_TIME
-
MFFTP_ABEND
您可以視需要設定任意數量的這些變數。您可以使用
ENVAR DD
陳述式在 JCL 中設定它們。如需這些變數的詳細資訊,請參閱 Micro Focus 文件中的 MFFTP 控制變數。 -
若要測試您的組態,請參閱 範例 JCLs。
範例 JCLs
若要測試安裝,您可以使用下列其中一個範例 JCL 檔案。
M2SFTP1.jcl
此 JCL 說明如何呼叫 M2SFTP 將檔案傳送至遠端 SFTP 伺服器。請注意 ENVVAR DD
陳述式中設定的環境變數。
//M2SFTP1 JOB 'M2SFTP1',CLASS=A,MSGCLASS=X,TIME=1440
//*
//* Copyright Amazon.com, Inc. or its affiliates.*
//* All Rights Reserved.*
//*
//*-------------------------------------------------------------------**
//* Sample SFTP JCL step to send a file to SFTP server*
//*-------------------------------------------------------------------**
//*
//STEP01 EXEC PGM=M2SFTP,
// PARM='127.0.0.1 (EXIT=99 TIMEOUT 300'
//*
//SYSFTPD DD *
RECFM FB
LRECL 80
SBSENDEOL CRLF
MBSENDEOL CRLF
TRAILINGBLANKS FALSE
/*
//NETRC DD *
machine 127.0.0.1 login sftpuser password sftppass
/*
//SYSPRINT DD SYSOUT=*
//OUTPUT DD SYSOUT=*
//STDOUT DD SYSOUT=*
//INPUT DD *
type a
locsite notrailingblanks
cd files
put 'AWS.M2.TXT2PDF1.PDF' AWS.M2.TXT2PDF1.pdf
put 'AWS.M2.CARDDEMO.CARDDATA.PS' AWS.M2.CARDDEMO.CARDDATA.PS1.txt
quit
/*
//ENVVAR DD *
MFFTP_VERBOSE_OUTPUT=ON
MFFTP_KEEP=N
/*
//*
//
M2SFTP2.jcl
此 JCL 說明如何呼叫 M2SFTP 以從遠端 SFTP 伺服器接收檔案。請注意 ENVVAR DD
陳述式中設定的環境變數。
//M2SFTP2 JOB 'M2SFTP2',CLASS=A,MSGCLASS=X,TIME=1440
//*
//* Copyright Amazon.com, Inc. or its affiliates.*
//* All Rights Reserved.*
//*
//*-------------------------------------------------------------------**
//* Sample SFTP JCL step to receive a file from SFTP server*
//*-------------------------------------------------------------------**
//*
//STEP01 EXEC PGM=M2SFTP
//*
//SYSPRINT DD SYSOUT=*
//OUTPUT DD SYSOUT=*
//STDOUT DD SYSOUT=*
//INPUT DD *
open 127.0.0.1
sftpuser
sftppass
cd files
locsite recfm=fb lrecl=150
get AWS.M2.CARDDEMO.CARDDATA.PS.txt +
'AWS.M2.CARDDEMO.CARDDATA.PS2' (replace
quit
/*
//ENVVAR DD *
MFFTP_VERBOSE_OUTPUT=ON
MFFTP_KEEP=N
/*
//*
//
注意
我們強烈建議將 FTP 登入資料儲存在 NETRC 檔案中,並限制只有授權使用者才能存取。
Putty SFTP (PSFTP) 用戶端命令參考
PSFTP 用戶端不支援所有 FTP 命令。下列清單顯示 PSFTP 支援的所有命令。
Command | 描述 |
---|---|
! |
執行本機命令 |
再見 |
完成您的 SFTP 工作階段 |
cd |
變更遠端工作目錄 |
chmod |
變更檔案許可和模式 |
關閉 |
完成您的 SFTP 工作階段,但不退出 PSFTP |
德爾 |
刪除遠端伺服器上的檔案 |
dir |
列出遠端檔案 |
exit |
完成您的 SFTP 工作階段 |
get |
將檔案從伺服器下載到您的本機電腦 |
help |
提供協助 |
lcd |
變更本機工作目錄 |
lpwd |
列印本機工作目錄 |
ls |
列出遠端檔案 |
mget |
一次下載多個檔案 |
mkdir |
在遠端伺服器上建立目錄 |
mput |
一次上傳多個檔案 |
mv |
移動或重新命名遠端伺服器上的檔案 (s) |
開啟 |
連線至主機 |
put |
將檔案從本機電腦上傳至伺服器 |
pwd |
列印遠端工作目錄 |
結束 |
完成您的 SFTP 工作階段 |
重新取得 |
繼續下載檔案 |
ren |
移動或重新命名遠端伺服器上的檔案 (s) |
評價 |
繼續上傳檔案 |
rm |
刪除遠端伺服器上的檔案 |
rmdir |
移除遠端伺服器上的目錄 |
後續步驟
若要使用 SFTP 將檔案上傳和下載到 Amazon Simple Storage Service,您可以搭配 使用 M2SFTP AWS Transfer Family,如以下部落格文章所述。