Outre l’envoi de fichiers entre systèmes, FTP possède une fonction d’exécution de commande générique qui permet d’exécuter à distance des commandes système d’exploitation natives sur le serveur distant. Pour exécuter une telle commande, il suffit de la passer comme un argument sur la commande FTP QUOTE RCMD.
Il est vrai, hélas, que quand les utilisateurs emploient QUOTE RCMD pour la première fois pour envoyer des commandes CL à un i5/OS, ils obtiennent souvent des résultats déconcertants. Des commandes simples, comme CRTPFM (Create Physical File Member) semblent marcher, tandis que des commandes plus complexes avec de multiples arguments, échouent de manière inexplicable.
La raison de cette défaillance est subtile. Quand le serveur FTP reçoit une commande distante, il la soumet pour exécution sans lui appliquer l’analyse syntaxique i5/OS, qui est chargée d’interpréter les arguments relatifs et de les étendre avec des mots-clés complets. Quand i5/OS reçoit la commande, il s’attend à tous les arguments après le premier en notation mot-clé explicite. Par exemple, au lieu de taper QUOTE RCMD call myprogram ‘myargument’ utilisez la syntaxe suivante :
QUOTE RCMD call CALL PGM(MYPROGRAM) PARM(‘MYARGUMENT’)
La partie QUOTE RCMD de la commande ne distingue pas les majuscules des minuscules, mais au-delà de ce point la distinction se fait : il faut donc respecter les conventions de casse i5/OS dans la commande CL.
Pour résoudre ce problème, il faut que les commandes soumises soient entièrement étendues. Pour obtenir le texte entièrement étendu de toute commande, entrez celleci sous forme abrégée sur une ligne de commande et appuyez sur F4. Puis utilisez F14 pour afficher la chaîne de commande, que vous pourrez copier et coller dans le script FTP.
Quand QUOTE RCMD échoue, le déboguage peut être difficile parce que FTP a de médiocres possibilités de compte rendu d’erreurs. En effet, vous n’obtiendrez pas les messages système détaillés propres à i5/OS et que vous recevriez normalement en exécutant une commande CL localement. Il existe un moyen astucieux pour déboguer les problèmes QUOTE RCMD : créer un log de jobs serveur à partir de FTP, en utilisant QUOTE RCMD :
QUOTE RCMD DSPJOBLOG
On obtient ainsi un log de jobs spoulés pour l’instance serveur FTP dans laquelle on opère, sans avoir besoin de mettre fin au serveur FTP. Le log contient les messages système détaillés qui expliquent la défaillance de la commande CL. Pour consulter le log, utilisez la commande WRKSPLF (Word with Spooled Files) et scrutez les fichiers du spool pour trouver l’ID utilisateur connecté (logged in) au serveur FTP quand la commande QUOTE RCMD fautive a été émise.
Sécuriser sa téléphonie IP n’est plus une option. Avec la généralisation de la téléphonie cloud et des infrastructures VoIP, la voix circule désormais sur les mêmes réseaux que les données…
Passez à la cybersécurité proactive, transformez la collecte et l’analyse des logs en un bouclier dynamique contre les cybermenaces. Découvrez comment mettre en place une approche SIEM modulaire, évolutive et…
