> Tech > FTP automatisé

FTP automatisé

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

FTP possède une caractéristique utile pour automatiser le transfert de données : les fichiers INPUT et OUTPUT. L'instruction FTP lit (par défaut) dans le fichier INPUT (s'il existe) et exécute toutes les instructions qu'il contient. De la même manière, elle envoie le journal des instructions exécutées et de leur état

(correctement exécutées
ou non) au fichier OUTPUT. A l’aide de
ces deux fichiers, on peut écrire un
script qui automatise le transfert de
données à  partir d’un système à  distance.
A titre d’exemple, la figure 1
montre un programme CL qui joue le
rôle de programme driver pour la fonction
FTP auto. Il crée un fichier temporaire
appelé FTPSRC avec deux
membres – FTPMBR et FTPLOG – qui
sont envoyés par écrasement dans les
fichiers INPUT et OUTPUT (que la
commande FTP utilisera).
Le fichier INPUT (qui a été écrasé)
est peuplé par un programme RPG appelé
à  partir du CL driver. Ce programme
RPG écrit toutes les commandes
FTP requises dans le fichier INPUT,
y compris les champs ID et mot
de passe utilisateur fictifs nécessaires
pour se connecter à  la machine locale
(nous reviendrons sur ce point plus
loin).
La figure 2 montre un programme
RPG appelé à  partir du programme CL
driver (figure 1) et qui écrit les commandes
FTP requises dans le fichier INPUT.
(A noter que vous devez créer le
fichier FTPSRC en utilisant la commande
illustrée dans le programme CL
de la figure 1 avant de pouvoir créer le
programme RPG. C’est nécessaire
pour des besoins de compilation.) A la
fin du programme, le fichier INPUT
contient l’ensemble des instructions
FTP à  exécuter. La figure 3 montre un
exemple de fichier INPUT.
L’instruction FTP suivante dans le
programme CL driver (figure 1) lit dans
le fichier INPUT et commence à  exécuter
les instructions qu’il contient. Un
inconvénient que vous remarquerez
sûrement est le fait que nous n’avons
pas la souplesse de nous connecter à 
une machine ; il nous faudrait coder en
dur l’adresse IP d’une machine distante.
L’instruction FTP RMTSYS
(LOOPBACK) permet de contourner
ce problème. Elle ne fait rien d’autre
que de connecter à  la machine locale
elle-même (c’est-à -dire connecter à  l’IP
127.0.0.1 en utilisant le port 21).
L’objet de cette opération est simplement
d’entrer dans le mode FTP. Vous
pourrez ensuite indiquer un ID et mot
de passe utilisateur fictif (à  l’intérieur
du fichier INPUT) qui sera rejeté, mais
notre objectif qui était d’entrer en
mode FTP a été atteint. A partir de là ,
nous pouvons ouvrir une connexion
vers toute machine distante et autant
de fois que nécessaire. L’adresse du
système à  distance peut aussi être acceptée
comme un paramètre et il n’est
pas nécessaire de la coder en dur.
A noter qu’il faut apporter
quelques changements au programme
RPG (figure 2) pour l’adapter à  l’environnement de l’utilisateur. En fait,
vous devez changer l’instruction

EVAL SRCDTA = _OPEN XXX.XXX.XX.XX ‘

pour refléter l’adresse/nom IP de
l’iSeries à  distance. Vous devez modifier
l’instruction

EVAL SRCDTA = ‘USER ANONYMOUS PASSWORD’

pour amener l’ID et mot de passe utilisateur
réels de la machine à  distance.
Enfin, vous devez modifier

EVAL SRCDTA = ‘CD FTPFILES’

et

EVAL SRCDTA = ‘LCD TEST’

pour refléter le répertoire à  distance à 
partir duquel l’utilisateur veut transférer
des données et le répertoire local
dans lequel il faut les transférer.
L’instruction FTP dirige son journal
et l’état des différentes instructions
FTP exécutées vers le fichier OUTPUT.
La figure 4 montre un fichier OUTPUT
type. Vous pouvez utiliser le fichier
OUTPUT pour suivre l’état de l’exécution,
et automatiser la suite du traitement
en vous fondant sur lui.
Vous pouvez maintenant programmer
le programme driver (via le scheduler
OS/400) pour qu’il fonctionne à 
une certaine heure. Le processus FTP
est automatisé !

Téléchargez cette ressource

Préparer l’entreprise à l’IA et aux technologies interconnectées

Préparer l’entreprise à l’IA et aux technologies interconnectées

Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010