[NEWSboard IBMi Forum]
Seite 1 von 2 1 2 Letzte
  1. #1
    Registriert seit
    Apr 2005
    Beiträge
    73

    sFTP funktioniert nur interaktiv?

    Liebes Forum!

    Wir sollen Daten von der iSeries auf einen sFTP Server übertragen! Interaktiv funktioniert das Programm soweit. Im Batch zeigt das Programm aber seltsame Verhaltensweisen!

    Im CL Programm werden zwei Scripts aufgerufen
    1) Passwortscipt
    2) Datenübertragungsscript

    Passwortscript:
    #!/bin/sh
    printf rxxxxxxxxy

    Datenübertragungsscript:
    #!/bin/sh
    export DISPLAY= SSH_ASKPASS=/home/Herman/openssh_password_script.sh
    printf "mput /FFPublic/PDFAusgabe/LEKL/FTP/LE*\nquit\n" | sftp p413962f1@p413962.xxxxxxxx.de

    Mein "Firewallkollege" hat mir mitgeteilt, dass der BATCH Aufruf auf einen FTP Server zugreift und nicht auf den interaktiven richtigen sFTP Server.
    Wir haben den Servernamen p413962.xxxxxxxx.de auch durch die IP Adresse ersetzt ohne Erfolg.
    Meine Frage an Euch würde nun lauten: Warum verhält sich ein und das selbe CL-Programm interaktiv unterschiedlich zum BATCH Aufruf?

    Hier noch der Ausschnitt aus dem CL Programm:
    QSH CMD('/home/Hermann/openssh_password_script.sh')
    QSH CMD('exec /QOpenSys/usr/bin/ksh -c "/home/Hermann/batch_leistungserklaerungen_sftp_script.sh"')

    Das Log beim korrekten interaktiven Aufruf:
    rxxxxxxxxxxy
    Die Eingabetaste drücken, um die Terminalsitzung zu beenden.
    Connected to p413962.xxxxxxxxxxx.de.
    sftp> mput /FFPublic/PDFAusgabe/LEKL/FTP/LE*
    Uploading /FFPublic/PDFAusgabe/LEKL/FTP/LE001297.PDF to /LE001297.PDF
    Uploading /FFPublic/PDFAusgabe/LEKL/FTP/LE_Muster.pdf to /LE_Muster.pdf
    sftp> quit

    Ich vermute, dass nicht mehr viel fehlt, um das Programm korrekt im BATCH korrekt aufrufen zu können!

    Vielen Dank im Voraus
    Hermann

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Wie hast du
    a) die Eingabeumleitung
    b) was steht in der Eingabedatei

    Meine Versuche mit sftp und Script scheiterten, da sftp gezielt die Konsole abfragen will und eine Eingabeumleitung nicht funktionierte.

    Hast du mal den normalen STRFTP mit TLS probiert? Ich hatte noch keine Gelegenheit dazu.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Apr 2005
    Beiträge
    73
    Hallo Furchau!

    Vielen Dank für deine Antwort! Wenn ich das richtig verstehe soll die Scriptzeile:

    export DISPLAY= SSH_ASKPASS=/home/Herman/openssh_password_script.sh
    die Umleitung machen.

    Wenn du mit Eingabedatei die FTP Anweisungen meinst wären es diese Zeilen:
    export DISPLAY= SSH_ASKPASS=/home/Herman/openssh_password_script.sh
    printf "mput /FFPublic/PDFAusgabe/LEKL/FTP/LE*\nquit\n" | sftp p413962f1@p413962.xxxxxxxx.de

    Es sollen nur bestimmte PDF aus dem IFS an das Verzeichnis des sFTP Servers gesandt werden, was soweit interaktiv funktioniert. Nur im BATCH leider nicht!

    Danke
    Hermann






  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Also mit dem normalen FTP (als Beispiel) schreibe ich die manuellen Anweisungen in eine PF FTPINPUT.
    Per
    OVRDBF STDIN TOFILE(FTPINPUT)
    OVRDBF STDOUT TOFILE(FTPOUTPUT)
    STRFTP

    Werden die Befehle
    logon
    user
    password
    mget *.txt
    quit

    Nacheinander befolgt und durchgeführt.

    Bei sftp benötigst du also eine ifs-datei in der die manuellen Befehle stehen.
    Der QSH-Aufruf ist dann

    sftp parameter < InputScript.txt > Output.log

    Wie gesagt, bei mir hat die Eingabeumleitung nicht funkioniert, da die Eingabe-Umleitung ignoriert wurde. Die Ausgabeumleitung aber wohl.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  5. #5
    Registriert seit
    May 2007
    Beiträge
    295
    Guten Morgen.

    Ist der Benutzer im Batch = interaktive Benutzer?
    Wenn nicht dann musst du dich mal mit dem Batch-Benutzer interaktiv anmelden und eine SSH-Verbindung aufbauen damit der Fingerprint gespeichert wird. Das war bei mir damals mal das Problem.
    Greets
    Christian
    Anwendungsentwickler und ein bissal Systemoperator
    https://github.com/prsbrc
    LinkedIn

  6. #6
    Registriert seit
    Apr 2005
    Beiträge
    73
    Danke für die Antwort!

    Es ist ein und derselbe Benutzer - sogar mit SECADM Rechten! Wenn ich mich nicht täusche brauche ich keinen "Fingerprint" bei einem User mit Kennwort - oder?

  7. #7
    Registriert seit
    May 2007
    Beiträge
    295
    Guten Morgen.
    Bei den paar sFTP-Zugriffen welche ich realisieren musste, musste sich der Batchbenutzer immer einen Fingerprint in den known_hosts eintragen. Auch mit Benutzer und Kennwort, das war dem sFTP egal. Also interaktiv anmelden und per SSH zum sFTP-Server um den fingerprint einmal abspeichern zu lassen
    Greets
    Christian
    Anwendungsentwickler und ein bissal Systemoperator
    https://github.com/prsbrc
    LinkedIn

  8. #8
    Registriert seit
    Apr 2005
    Beiträge
    73
    Ich habe mit dem Batch Benutzer eine SSH Verbindung zum sFTP Server aufgebaut wobei der Fingerprint in die HOST Tabelle eingetragen wurde. Der Batchjob läuft zwar ohne Fehler ab meldet "Befehl wurde normal mit Ausführungsstatus 255 beendet" was vermutlich nichts gutes bedeutet.
    Im Log Files welches bei der Verbindung aufgebaut wird steht:
    "lost connection xxxxxxxxxxxxxfork: Error 3489 occurred" - was auch immer das wieder heissen soll!
    Ich bin mit meinen Latein am Ende und komme nicht weiter - vielleicht hat noch jemand eine Idee die sFTP Verbindung ins Laufen zu bekommen.

    Vielen Dank im Voraus
    Hermann

  9. #9
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Fehlerbeschreibung siehe hier:
    https://www.ibm.com/support/pages/qs...-program-batch

    Manche Subsysteme erlauben z.B. kein Multithreading, was allerdings ebenso benötigt werden könnte.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  10. #10
    Registriert seit
    Apr 2005
    Beiträge
    73
    Liebes Forum!

    Unsere sFTP Anwendung läuft jetzt problemlos im BATCH und INTERACTIV. Vieler eurer Tipps haben dazu beigetragen die Lösung für das Problem zu finden (Fingerprint generieren, Anzahl Jobs per Jobklasse zu erhöhen, etc.)
    Aber ein Hauptgrund war ein % Zeichen im Kennwort welches der PRINTF Command falsch interpretiert hatte! Durch einen Beitrag im Internet konnte herausgefunden werden, dass ein einzelnes % durch ein weiteres %% ergänzt werden musste um das % Zeichen korrekt zu übertragen.
    Beitrag: https://alvinalexander.com/programmi...t-cheat-sheet/

    Ein Problem ist noch zu lösen und zwar, dass das Logfile mit WRKLNK ohne Problem zu lesen ist, im IFS aber verstümmelte Zeichen dargestellt werden (OpsNav-Daten: Datenstromdatei Typ 2, 1141 german with euro)

    Noch einmal vielen Dank für eure Unterstützung
    Hermann

  11. #11
    Registriert seit
    Nov 2020
    Beiträge
    315
    Hallo Hermann,

    Probier vorher die Umgebungsvariable zu setzen: QIBM_CCSID=1208
    Dadurch sollten alle im IFS erzeugten Files mit der CCSID 1208 (UTF8) erstellt werden.

    lg Andreas

  12. #12
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Vor dem Start kann man per "touch" mit CCSID eine IFS-Datei erstellen:
    touch -C 1252 LogFile
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. CPYSPLF unterschiedliches Verhalten im Batch und interaktiv
    By nico1964 in forum IBM i Hauptforum
    Antworten: 71
    Letzter Beitrag: 22-08-17, 14:13
  2. Schräg: MKDir mit QCMDEXC und interaktiv
    By camouflage in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 16-01-14, 18:07
  3. RUNSQLSTM falsch aber Interaktiv OK
    By BerndF in forum IBM i Hauptforum
    Antworten: 10
    Letzter Beitrag: 10-04-03, 08:01
  4. Neue Preise für RAM, Interaktiv + 17 GB
    By Reinhard Düvel in forum NEWSboard Server & Hardware Markt
    Antworten: 1
    Letzter Beitrag: 06-05-02, 14:34
  5. Remote CMD auf NT Rechner Interaktiv ausführen
    By K_Tippi in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 27-03-01, 10:17

Tags for this Thread

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •