SFTP停止打印消息&#34;将<file>上传到/ path / to / file&#34;

时间:2018-06-01 11:16:09

标签: linux unix ssh sftp informatica

echo cd $DEST >$DIR/$SFTP_CMD
echo put $FTP_FILE_NAME "$FTP_FILE_NAME(+1)" >> $DIR/$SFTP_CMD
echo quit >> $DIR/$SFTP_CMD

sftp -b $DIR/$SFTP_CMD $USER@$SERVER >> $LOG

通常在成功的SFTP上,&#34;将文件上传到路径/文件&#34;打印到stdout(在这种情况下登录)。它停止这样做了。 FTP仍在成功,但它没有打印&#34;正在上传。*消息到stdout&#34;。我不知道会发生什么变化会导致这种变化。有没有人面对这个?

此脚本由Informatica - 命令任务触发。唯一改变的是该工作流程已迁移到informatica 10。

1 个答案:

答案 0 :(得分:1)

如果使用sftp标志或-q标志(暗示-b)运行,则当前版本的OpenSSH -q实用程序不会打印该消息。

我手头有一些旧版OpenSSH的源代码。在版本6.0和6.6之间的某个时间进行了禁止该消息的更改。您的Informatica更新可能还涉及对OpenSSH软件的更新,您现在正在运行较新版本的sftp实用程序。

想到的唯一解决方案是:

  1. 没有那条消息就过去了。
  2. 避免使用sftp-b
  3. 运行-q
  4. 为此目的,还原为sftp实用程序的足够旧副本。
  5. 下载OpenSSH源代码并构建您自己的(可能已修改的)sftp实用程序版本。
  6. 使用您选择的语言编写自己的sftp客户端。大多数现代编程语言都有某种SSH / SFTP客户端库。