FTP in IBMi

FTP tra IBMI

FTP è uno dei software più diffusi, per lo spostamente/copia di file tra server o tra pc server.
Il servizio FTP (che se non attivo può essere eseguito tramite comando STRFTP) è presente nei server IBMi sia come client che come server.

Ma prima di procedere con l’uso del protocollo ftp , è necessario spiegare un oggetto, presente solo in IBMi chiamato SAVF.

Cosa è il SAVF

Si può considera il savf come un Contenitore Logico all’interno del quale puoi salvare oggetti di qualsiasi tipo. Ricordo che il savf in quanto oggetto, deve essere contenuto in una libreria.

I comandi principali che comprendono il savf sono:

  • CRTSAVF
  • CLRSAVF
  • DLTSAVF
  • DSPSAVF

CRTSAVF.. Creiamo!

Create SAVF.
Questo comando server per la creazione del savefile, e come sempre necessita di avere una libreria dove creare il nostro contenitore. Possiamo aggiungere un testo descritivo.

CLRSAVF… Svuotiamo!

Clear SAVF.
Questo comando non cancella il savf come  potremmo sembrare, ma svuota il contenitore, lasciando senza file. Ovviamente si può riutilizzare. Il savf infatti non si “consuma”.
Questo comando è usato spesso quando sbagliamo a salvare la libreria o oggetto, ed invece di cancellare tutto (e quindi poi ricreare il savf) basta semplicemente usare la clear del savf CLRFSAVF.

DLTSAVF… Cancelliamo!

Delete Savf.
Finalmente possiamo cancellare il nostro savf, magari dopo avero usato. E’ sempre bene non lasciare oggetti in giro che occupano spazio disco inutilmente!

 DSPSAVF…Verifichiamo il savf?

DISPLAY SAVF.
Possiamo verificare cosa abbiamo salvato all’interno del savf.

 

… E adesso salviamo gli oggetti!

Quindi per prima cosa dobbiamo creare il nostro SAVF

CRTSAVF FILE(MYLIBRARY/MYSAVF) TEXT(‘Qua puoi mettere la descrizione’)

Dopo aver creato il nostro savf e possiamo, tramite comando SAVLIB o SAVOBJ salvare la nostra libreria SALVA_LIBR) nel nostro savf  (MYSAVF) oppure l’oggetto/i MYOBJ.

SAVLIB LIB(SALVA_LIBR) DEV(*SAVF) SAVF(MYLIBRARY/MYSAVF)

Oppure con SAVOBJ per gli oggetti/o

SAVOBJ OBJ(MYOBJ) LIB(MYLIBRARY) DEV(*SAVF) SAVF(MYLIBRARY/MYSAVF)


Suggerimento:
Il comando SAVOBJ e SAVLIB ha moltissime opzioni,  tra i più importanti è il “Target release” che deve essere utilizzato se la relase del sistema operativo target è piu vecchio di quello dove ci troviamo. In questo caso, senza specificare il “Target release” NON sarà possibile eseguire il restore del salvataggio.

Attenzione:
Dobbiamo anche creare un savf “vuoto” nel IBMi target con lo stesso identico comando.

CRTSAVF FILE(MYLIBRARY/MYSAVF)

Suggerimento:
E’ utile di utilizzare lo stesso nome del savf spedente cosi non fate confusione.

…..FTP finalmente

Per eseguire FTP è necessario indirizzo IP o nomehost del server target. Il comando quindi sarà:

FTP RMTSYS(IP_REMOTO)  oppure FTP RMTSYS(NomeHost_REMOTO)

Se va tutto bene vi restituirà la connessione corretta:

Connecting to remote host IP_REMOTO using port 21.
220-QTCP NomeHost_REMOTO
220 Connection will close if idle more than 5 minutes.

Più in basso vi chiederà il login ID del server remoto, suggerendo quello del login attuale locale

Enter login ID (IDLOCALE)
mettiamo lo user e vi chiederà la password

Suggerimento:
verificate che il profilo sia abilitato o con password non in scadenza altrimenti non si potrà eseguire il login al server remoto (user rejected).

Se tutto è andato a buon fine si avrà finalmente accesso al IBMi remoto.

230 IDLOCAL logged on.
OS/400 is the remote operating system. The TCP/IP version is “V7R2M0”.
250 Now using naming format “0”.
257 “QGPL” is current library.

A questo punto dobbiamo digitare la libreria locale dove è il savf e la libreria di destinazione dove fare il trasfer file del savf (infatti la libreria di default è sempre QGPL).

Suggerimento:
E’ utile creare una libreria di parcheggio in entrambi i sistemi per non lasciare troppi savf in giro.

I comandi sono simili LCD (LocalCD) e CD.

LCD NomeLibreria
CD NomeLibreriaRemota

Prima di spedire il nostro savf dobbiamo mettiamo in BINARIO il protocollo FTP tramite comando

BIN

Adesso siamo finalmente pronti ad usare il comando

Put mysavf
50 Now using naming format “0”.
57 “MYLIBRARY” is current library.
29 Entering Extended Passive Mode (!!!49878!).
50 Sending file to member MYSAVF in file MYSAVF  in library MYLIBRARY.
26 File transfer completed successfully.
94236544 bytes transferred in 31.020 seconds. Transfer rate 19156.852 KB/sec.

Per uscire F3 (1=Yes)  oppure quit

…Finalmente Restore

Ok.. il savf è finalmente dall’altra parte. Ma appunto non abbiamo i file restorato ma solo il savf.

Per ripristinare la libreria o gli oggetti bisogna utilizzare il corrispettivo RST del comando SAV, quindi SAVOBJ–> RSTOBJ e SAVLIB–>RSTLIB

RSTLIB LIB(SALVA_LIBR) DEV(*SAVF) SAVF(MYLIBRARY/MYSAVF)

Oppure con SAVOBJ per gli oggetti/o

RSTOBJ OBJ(MYOBJ) LIB(MYLIBRARY) DEV(*SAVF) SAVF(MYLIBRARY/MYSAVF)

 

Alla prossima con un altro Post!!!
Vostro iBlog127

Fonte:
www.IBM.com

 

Autore dell'articolo: iBlog127

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.