03 - Open Source03f - Tools Open Source

Open Source – Lftp -Non solo ftp/sftp

Last Updated on 1 Maggio 2020 by Roberto De Pedrini

L’apertura di IBM i al mondo Open Source permette di installare linguaggi e tools che semplificano i processi delle nostre applicazioni aziendali.

Ad esempio, un tipico caso è quello di SFTP che ha sostituito il vecchio FTP in diversi processi aziendali di scambio dati (spedizioni con i corrieri, borderò ecc).

Se dobbiamo scambiare files vis SFTP non sempre abbiamo la possibilità di rendere client e server “trusted” tramite uno scambio di chiavi RSA che garantiscono una comunicazione sicura senza doversi scambiare le password tutte le volte.

Se dobbiamo continuare ad utilizzare utente e password, la gestione di script batch non è così semplice come siamo abituati a fare con FTP e dobbiamo ricorrere a utility (sempre dal mondo open source) come Expect: ne abbiamo parlato sempre su questo blog qualche mese fa: SFTP con password (no SSH key authentication).

Una alternativa interessante, che apre l’IBM i oltre che a ftp e sftp anche ad altri protocolli come torrent, è “LFTP”

Lftp permette di creare degli script simili a quelli che utilizzavamo con FTP … con utente e password nello script stesso, perdendo qualcosa da un punto di vista sicurezza interna a vantaggio della semplicità, aprendo inoltre un mondo di nuove possibilità come SFTP, TORRENT, HTTP, controllo della banda di upload – download, ripresa dei download in caso di interruzione, funzionalità di mirror (in stile rsync) tra directory del client e quelle del server.

Insomma … piccolo, ma veramente potente, pacchetto open source: vediamo come installarlo e utilizzarlo in ambiente IBM i

Da ambiente QSH, o meglio, con un terminale SSH connesso all’ambiente PASE di IBM i:

bash-4.4$ yum install lftp

Seguiamo i passi di installazione e iniziamo a provarlo su un server SFTP pubblico e scarichiamo una intera directory del server in una nostra directory IFS.

Public SFTP Server: demo.wftpserver.com
Port: 2222
User: demo-user
Password: demo-user

Now create a new directory on our IFS
bash-4.4$ mkdir /home/faq400/wftp_download

Then we can download al the remote directory with this command with an integrated script:

bash-4.4$ lftp -c "set ssl:verify-certificate no; set sftp:auto-confirm yes; open  sftp://demo-user:demo-user@demo.wftpserver.com:2222; lcd /home/faq400/wftp_download; cd download; mget *;quit"

Nel caso sopra indicato effettuiamo un download di una intera directory. Se è una operazione periodica potrebbe aver senso ragionare in modo “incrementale” andando a scaricare solo i files modificati dall’ultimo download:

bash-4.4$ lftp -c "set ssl:verify-certificate no; set sftp:auto-confirm yes; open  sftp://demo-user:demo-user@demo.wftpserver.com:2222; mirror  --verbose --use-pget-n=8 -c /home/faq400/download /pdf/2020/testmirror/;quit"

Le opzioni di LFTP sono veramente tantissimi … ecco qualche esempio:

mget -c                             to continue interrupted download

set net:limit-rate 0:512000         to limit upload bandwidth
set net:limit-total-rate 3M:500K    to limit download and upload

lftp -e 'pget -c -n 5 /path/to/file' sftp://username@server    Multiparts transfer

LFTP, un pacchetto open source veramente interessante per la gestione del file transfer anche in ambiente IBM i

Related Posts
DB2 for i SQL – Stringhe – POSSTR-LOCATE-LOCATE_IN_STRING (IT)

Introduzione Spesso, nelle nostre applicazioni, abbiamo la necessità di lavorare con le stringhe di testo e l'SQL del DB2 può Read more

DB2 for i & SQL – FAQ & Howto (Part. 1) (IT)

Database DB2 e SQL ... forse lo strumento più potente e completo che abbiamo sulla piattaforma IBM i: ecco una Read more

Annuncio IBM i 7.4

Arriva direttamente con l'uovo di Pasqua questo annuncio IBM per le novità della versione IBM i 7.4, versione iNext secondo Read more

Generated Always Columns – Approfondimenti (IT)

Introduzione "Generated Always Column": sono colonne, campi, di una tabella il cui contenuto è controllato direttamente dal sistema ... e Read more

--- Roberto De Pedrini Faq400.com
About author

Founder di Faq400 Srl, IBM Champion, ideatore del sito Faq400.com e del Blog blog.faq400.com. Sviluppatore RPG da quando avevo i pantaloni corti, forte sostenitore della piattaforma IBM i (ex AS400), ho sempre cercato di convididere le mie conoscenze con gli altri tramite forum, eventi e corsi. Oggi, tramite Faq400 Srl, cerchiamo di aiutare le aziende a sfruttare al meglio questa fantastica piattaforma IBM i.

1 Comment

Lascia un commento

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