Вот проблема, с которой я столкнулся. У меня есть сервер подготовки, который запускает сценарий Perl для загрузки и загрузки определенных файлов через регулярные промежутки времени с помощью sftp. Команда sftp выполняется в пакетном режиме и выглядит так
my $sftpCmd = `sftp -o BatchMode=yes -b $batchFile $userAtHost 2>&1`;
Обычно командный файл содержит такие команды, как
cd /someFolder/
get someFile
Проблема в том, что когда мы запускали команду sftp в rhel6.3, мы использовали ее, чтобы получить правильную причину для любых случаев сбоя. Также мы использовали эту причину сбоя, записанную в виде строки, для увеличения различной статистики сбоев. например,
sftp -o BatchMode=yes -b batchFile.txt user1@localhost
Couldn't stat remote file: No such file or directory
File "/someFolder/someFile" not found.
Теперь из-за бизнес-требований мы обновили нашу систему до rhel7.1. И каким-то образом дополнительная информация об ошибках подавляется в rhel7.1. Результат в rhel7.1 выглядит так
sftp -o BatchMode=yes -b batchFile.txt user1@localhost
File "/someFolder/someFile" not found.
Может ли кто-нибудь подсказать, как включить печать этой недостающей информации? У меня есть одно решение, которое работает, но не так привлекательно для пользователей. Если sftp запущен в подробном режиме, он печатает всю отладочную информацию вместе с недостающими строками. Но он без необходимости заполняет файлы журнала ненужными данными.
sftp -v -o BatchMode=yes -b batchFile.txt user1@localhost
Любое чистое решение будет высоко оценено.