SFTP перестал печатать сообщение «Загрузка <file>в / путь / в / файл» - PullRequest
0 голосов
/ 01 июня 2018
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 все еще работает, но не печатает «Uploading. * Message to stdout».Я не знаю, что изменилось бы, что вызвало бы это изменение.Кто-нибудь сталкивался с этим раньше?

Этот скрипт запускается из Informatica - командная задача.Единственное, что изменилось, это то, что этот рабочий процесс был перенесен в informatica 10.

1 Ответ

0 голосов
/ 01 июня 2018

Текущая версия утилиты 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.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...