FTP et AS/400

BoTTom |    Changer de couleur
FTP est un standard du monde TCP/IP permettant de transférer des fichiers
 
  FTP possède les attributs suivants en V4R40 :
 
  sur la commande CHGFTPA vous trouverez :
 
   - NAMEFMT(*LIB | *PATH)
 
      la nouvelle valeur *PATH  indique un format serveur, identique à
        "namefmt '1'", c'est à dire /qsys.lib/bib.lib/fichier.file/...
 
   - CURDIR(*HOMEDIR)
 
      fixe le répertoire de travail initial
      (par défaut il s'agit du paramètre HOMEDIR du profil)
 
   - LISTFMT(*DFT | *UNIX)
 
      la valeur *UNIX produit un affichage, lors des demandes de liste,
       compatible UNIX, c'est à dire avec (enfin) les noms de répertoires
       à gauche.
 
ces trois options combinées rendent possible l'utilisation de clients FTP   graphiques (Windows, Linux).


|    Changer de couleur

 
 
 
Pour utiliser la fonction client :
 
 Lancez la commande FTP
 
  Puis signez vous (profil / mot de passe)
 
Les fichiers sont vus dans un système arborescent :
 
1/   bibliothèque/fichier.membre: dénomination par défaut[0], NAMEFMT(*LIB).
 
2/   - QSYS.LIB/bibli.LIB/FICHIER.FILE/membre.MBR
     
et
     - / 
/QOPT/  /QDLS/REPERTOIRE/DOCUMENT /HOME/USER
etc....
   Si vous demandez le format de dénomination 1  : NAMEFMT(*PATH).    (les fichiers *SAVF sont acceptés)  


|    Changer de couleur
 
Vous demandez ce format en passant la commande :
 
NAMEFMT 1 (NAMEFMT 0, revient au format précédent)

Pour la passer sur le serveur uniquement
  SITE NAMEFMT 1 (SITE NAMEFMT 0, revient au format précédent)  
Cette commande n'est comprise que d'un IBM i.
  Si vous utilisez FTP/Windows    passez la commande QUOTE, qui demande au système local de transmettre     une commande entre quotes sans la vérifier.     Voici la liste des principales commandes FTP :    OPEN système / CLOSE système      connexion/déconexion à un serveur FTP    USER profil      ouverture d'une session (en cas d'erreur lors de l'OPEN)  


|    Changer de couleur
 Choix du mode de connexion et du port :
 
  en effet le FTP de base fonctionne de la manière suivante :
 
   - au début de la session le CLIENT s'alloue deux ports pour lui-même,
   - il communique avec le serveur sur le port 21 en mode commande.
   - puis lance la commande FTP "PORT" pour indiquer au serveur quel numéro
      de port utiliser pour le transfert des données.
   - le serveur ouvre alors une connexion du port 20 vers le port demandé.
 
 PORT a.b.c.d.x.y  a.b.c.d représentant l'adresse ip
                        x.y le n° de port : x indiquant un multiple de 255
                                            y des unités
      ainsi
 
       PORT 192.168.1.1.4.8 indique l'adresse 192.168.1.1
                                    port 1032 (4 x 255 + 8)
    PASV demande un dialogue en mode passif      - c'est le client qui connecte le serveur sur le port 20.  


|    Changer de couleur
 
Il s'agit de la valeur par défaut pour le serveur FTP de l'AS/400.
 
 (qui fonctionne en mode passif)
 
 
pour enlever cette option par défaut pour le client FTP sur AS/400,
 vous pouvez, depuis la V4R20(PTF SF52486), créer une data area :
 
 
 CRTDTAARA DTAARA(QUSRSYS/QTMFTPPASV) TYPE(*LGL) AUT(*USE)
 
 
le client fonctionne alors en mode normal (il utilise PORT)
 
 
pour utiliser le mode passif, ponctuellement, lancez SENDPASV
 
 
pour utiliser le mode passif définitivement, détruisez la data area
 
 


|    Changer de couleur
 
 Paramètrage:
 
 BINARY : transferts en mode binaire (pas de conversion CCSID)
 
 ASCII  : transferts en ASCII / EBCDIC : conversion
 
 TIME xx: Passer le timetout à xx secondes (pour les temps d'attente)
 
Répertoires:
 
 CD     : Change directory sur système distant
 LCD    :  idem sur système local
 
 CDUP   : change vers répertoire parent (idem CD .. sous DOS)
 
 DIR    : liste du contenu du répertoire  (nom généric* admit)
 
 LS     : Liste des fichiers, l'option (DISK écrit dans *CURLIB/LSOUTPUT
 
 PWD    : voir directory en cours (système distant)
 LPWD   : idem en local


|    Changer de couleur

la substitution peut aussi être utilisée pour les commandes DIR et LS
 

 ces dernières produisent un affichage de la liste du répertoire en cours.

 l'option (DISK demande à ce que cette liste soit écrite localement   sur disque (LSOUTPUT pour LS, DIROUPUT pour DIR).  

 par example:  dir w* (disk       /* tout ce qui commence par w */
 

 le fichier de sortie par défaut est DIROUTPUT dans *CURLIB,



 on peut faire un OVRDBF sur le fichier DIROUTPUT, dont voici le contenu
  retourné par un serveur linux  :

-rw-r--r--    1 cm       users        3592 Dec  2  2008 9408-M25.sysplan
-rw-r--r--    1 cm       users        6163 Dec  4  2008 CPYCOURS.JPG
-rw-r--r--    1 cm       users       55523 Dec  4  2008 CPYEXEMP.JPG
drwxr-xr-x    2 cm       users         232 Jan  2  2008 Choices  .../...



|    Changer de couleur
 
Transferts :                            localfile  = nom local
                                        remotefile = nom éloigné
   APPEND    localfile    [remotefile]     : Copie en Ajout    DELETE    remotefile                    : suppression de fichier    GET       remotefile   [localfile]      : Aller chercher un fichier    MDELETE   remotefile                    : supprimer un fichier distant    MGET      remotefiles (* accepté)       : aller chercher un(des) fichiers    MPUT      localfiles  (idem)            : envoyer un(des) fichiers    PUT       localfile    [remotefile]     : envoyer un fichier    RENAME    remotefile                    : renommer un fichier    RMDIR     remotedirectory               : supprimer un répertoire distant  


|    Changer de couleur
 Divers :
 
  QUOTE commande    : passer une commande FTP
 
  SYSCMD  commande  : passer une commande OS/400 (L'IBM i est client)
  QUOTE rcmd cde    : passer une commande OS/400 (L'IBM i est le serveur)
 
  STATUS            : renvoi des infos
 
  LOCSTAT           : renvoi des statistiques
 
  SYSTEM            : description du système distant
 
  HELP              : fourni l'aide général
 
   HELP commandeFTP    : founi l'aide sur cette commande
   HELP SERVEUR cdeFTP : demande au serveur de renvoyer l'aide
                          sur une commande (inconnue en local par exemple)
 
 VERBOSE            : mode bavard (messages d'information)
 
 QUIT               : Arret de FTP client.


|    Changer de couleur
 
 Commandes spécifiques à l'IBM i (quand il est serveur)
 
 ADDM : ADDPFM
 
 CRTL : CRTLIB
 
 CRTP : CRTPF
 
 CRTS : CRTSRCPF
 
 DLTF : DLTF
 
 DLTL : DLTLIB
 
 
  les paramètres sont les même que ceux des commandes CL.
 
 Commande de test de la connexion (ne fait rien)
 
   NOOP
 


|    Changer de couleur
Pour transférer un savf vers le répertoire c:\temp (pour envoi par mail)
 ftp> open 10.3.1.1  Connected to 10.3.1.1.  220-QTCP at S44R7480.APPN.SNA.IBM.COM.  220 Connection will close if idle more than 5 minutes.  User (10.3.1.1:(none)): qsecofr  331 Enter password.  Password:  230 QSECOFR logged on.   puis choisissez votre bibliothèque par  ftp> cd af4savf  250 "AF4SAVF" is current library.   enfin , téléchargez le fichier :  ftp> bin  200 Representation type is binary IMAGE.  ftp> get wrkmail c:\temp\wrkmail  200 PORT subcommand request successful.  150 Retrieving member WRKMAIL in file WRKMAIL in library AF4SAVF  250 File transfer completed successfully.  37488 bytes received in 0,16 seconds (234,30 Kbytes/sec)


|    Changer de couleur
 
Pour transférer dans l'autre sens :
 ftp> open 10.3.1.1   .../...   .../...  230 QSECOFR logged on.     créez le fichier de sauvegarde (IMPERATIF) par: (sinon FTP/400 va vous crééer un fichier physique en interne)  ftp> quote rcmd crtsavf af4savf/wrkmail  250 commande crtsavf af4savf/wrkmail successful.   enfin, envoyez le fichier :  ftp> bin  200 Representation type is binary IMAGE.  ftp> put c:\temp\wrkmail af4savf/wrkmail  200 PORT subcommand request successful.  150 sending file to member WRKMAIL in file WRKMAIL in library AF4SAVF  250 File transfer completed successfully.  37488 bytes sent in 0,16 seconds (234,30 Kbytes/sec)  


|    Changer de couleur
 
 Pour utiliser FTP en Batch, lancez les commandes suivantes dans un CL :
 
             OVRDBF     FILE(INPUT) TOFILE(FTPCMD) MBR(IN)
             OVRDBF     FILE(OUTPUT) TOFILE(FTPCMD) MBR(OUT)
             FTP        RMTSYS(MACHINEx)
 
 Le membre IN contient les commandes suivantes :
 
 *** Début des données ***
 
profil motdepasse
CD bibli
Get fichier
QUIT
 
 *** fin des données ***
 
 il s'agit bien sûr d'un exemple, les commandes sont données à titre
                                   indicatif. :-)
 
 OUT recoit toutes les lignes qui auraient été affichées à l'écran.





©AF400