View Full Version : STFP - Datei von System i zu Server übertragen per SFTP
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
Hallo ,
ich denke dieser Link kann die helfen
http://www.ibmsystemsmag.com/ibmi/administrator/systemsmanagement/sFTP-Tips/
Hallo Georg,
danke, werde mir das ansehen.
Gruß
Johann
Hallo Johann,
hier ist noch ein hilfreicher Link
http://www.redbooks.ibm.com/abstracts/redp4163.html
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 :)