PDA

View Full Version : STFP - Datei von System i zu Server übertragen per SFTP



kcc_ol
17-01-14, 10:08
Hallo,

kann mir jemand Muster senden mit Routinen, die per SFTP eine Datei von AS/400 auf einen
anderen Server überträgt. Die Verarbeitung mit FTP ist keine Problem, das habe
ich im Griff (CL, RPG und Anweisungen in Quellendatei). Es ist V7R1M0 im Einsatz.
Danke

GeorgG
17-01-14, 10:21
Hallo ,

ich denke dieser Link kann die helfen

http://www.ibmsystemsmag.com/ibmi/administrator/systemsmanagement/sFTP-Tips/

kcc_ol
17-01-14, 12:27
Hallo Georg,

danke, werde mir das ansehen.

Gruß
Johann

GeorgG
17-01-14, 17:52
Hallo Johann,

hier ist noch ein hilfreicher Link

http://www.redbooks.ibm.com/abstracts/redp4163.html

prsbrc
20-01-14, 07:35
Schönen guten Morgen.

Wir verwenden hier das OPENSSH mit Expect.
Wir haben uns da ein Script gebastelt/kopiert mit Umgebungs-Variablen:
---
#!/usr/local/bin/expect -f

log_file -a -noappend $env(SSH_LOG)
set timeout 20
spawn sftp $env(SSH_USER)@$env(SSH_HOST)
expect {
default {exit 2}
"continue connecting (yes/no)?" {send "yes\n"; exp_continue}
"assword:" {send "$env(SSH_PASS)\n"; exp_continue}
"sftp>"
}
send "put $env(SSH_FILE)\n"
expect {
default {exit 2}
"not found" {exit 3}
"sftp>"
}
send "quit\n"
exit 0
---


In einem CLP befüllen wir die Umgebungsvariablen inkl. Aufrufbefehl für die QSH

z.B.:

CHGVAR VAR(&CMD) VALUE('PATH=$PATH:/usr/local/bin: +
&& expect -f /Expect/Scripts/sftpput.sh')
ADDENVVAR ENVVAR(SSH_LOG) VALUE(&LOG) REPLACE(*YES)
ADDENVVAR ENVVAR(SSH_FILE) VALUE(&DIRFILE) REPLACE(*YES)
ADDENVVAR ENVVAR(SSH_USER) VALUE(&USER) REPLACE(*YES)
ADDENVVAR ENVVAR(SSH_HOST) VALUE(&HOST) REPLACE(*YES)
ADDENVVAR ENVVAR(SSH_PASS) VALUE(&PASS) REPLACE(*YES)
ADDENVVAR ENVVAR(QIBM_QSH_CMD_OUTPUT) +
VALUE('NONE') REPLACE(*YES)
ADDENVVAR ENVVAR(QIBM_QSH_CMD_ESCAPE_MSG) VALUE(Y) +
REPLACE(*YES)


Und dann gehts los:
QSH CMD(&CMD)

Funktioniert wunderbar :)