如何在 RHEL7.1 中启用 SFTP 错误状态?

如何在 RHEL7.1 中启用 SFTP 错误状态?

这是我面临的问题。我有一台配置服务器,它运行一个 perl 脚本,使用 sftp 定期上传和下载某些文件。sftp 命令以批处理模式执行,如下所示

my $sftpCmd = `sftp -o BatchMode=yes -b $batchFile $userAtHost 2>&1`;

通常,批处理文件包含如下命令

cd /someFolder/
get someFile

问题是,当我们在 rhel6.3 中运行 sftp 命令时,我们曾经获取任何故障情况的正确原因。我们还使用捕获为字符串的故障原因来增加不同的故障统计数据。例如,

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

任何干净的解决方案都将受到高度赞赏。

相关内容