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

标签 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 上,“上传文件到路径/文件”被打印到标准输出(在这种情况下是日志)。它停止这样做了。 FTP 仍在成功,但它没有打印“正在上传。* 消息到标准输出”。我不知道会发生什么变化会导致这种变化。有没有人遇到过这个问题?

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

最佳答案

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

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

想到的唯一解决方案是:

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

关于linux - SFTP 停止打印消息 "Uploading <file> to/path/to/file",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50642212/

相关文章:

python - 与 Arduino Edison/Galileo 的语言兼容性

c# - Linux + ARM + KINECT + C# + MonoDevelop,这可能吗?

linux - 使用sed更改文件中的字符串?

bash - 在 bash 脚本中运行 awk

git - 升级后 Ubuntu 无法找到 Git 存储库

linux - grep 本地好还是远程好?

linux - 在 CentOS Box 上正确指定 JAVA_HOME

python - 位于指定范围内的值的数量

linux - 值之间的 Awk 线

ssh - JGit - ssh 连接