View Full Version : SFTP /FTPS versenden auf IBM I
Mit den neueren Releases (V7ff) geht das auch mit dem FTP-Kommando (schau mal per F10).
Ansonsten läuft ja sftp über QSH oder PASE und kann via Shell-Script genauso gescripted werden.
Es gibt da verschiedene Ansätze aus der Unix-Welt die weitestgehend auch für QSH gelten.
Vielleicht klappt ja halt:
<inputstream><inputtext>
sftp .... <EingabeText >LogText</inputtext></inputstream>
Guten Morgen.
Ja für sFTP aus der Unix-Welt gibt es zigg Varianten.
Ich verwende hierfür Expect. Kann man schön scripten UND auch mit User & Passwort arbeiten:
ChgVar &Cmd Value('PATH=$PATH:/usr/local/bin: +
&& expect -f /Expect/Scripts/' *TCat &Script)
ChgVar &DirFile Value(&Dir *TCat '/' *TCat &File)
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)
QSH Cmd(&Cmd)
#!/usr/local/bin/expect -f
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 myfile.csv\n"
expect {
default {exit 2}
"not found" {exit 3}
"sftp>"
}
send "quit\n"
exit 0