SFTP 停止打印消息 "Uploading <file> to /path/to/file"

SFTP stopped printing the message "Uploading <file> to /path/to/file"

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 上,"Uploading file to path/file" 被打印到标准输出(在这种情况下是日志)。它停止这样做了。 FTP 仍在执行,但未打印 "Uploading.* message to stdout"。我不知道会发生什么变化会导致这种变化。有人遇到过这个吗?

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

如果 OpenSSH sftp 实用程序的当前版本 运行 带有 -q 标志或 -b 标志(这意味着 -q).

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

想到的唯一解决方案是:

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