我使用SSH net.neoremind.sshxcute的Java API库连接到SFTP服务器,并执行本该服务器上的shell脚本。
我的Shell脚本确实从SFTP位置文件移动到HDFS位置在其它机器上的一个简单的工作。
目前,还没有办法报告如果任何文件都不会移动,由于某种原因,如连接失败,非法名字的文件,空文件等。
我不知道,我怎么能显示的每个信息组从shell命令失败的文件回迁Java代码?
这是我的示例代码:
// e.g sftpScriptPath => /abc/xyz
// sftpScriptCommand => sudo ./move.sh
// arguments => set of arguments to shell script.
task = new ExecShellScript(sftpScriptPath, sftpScriptCommand, arguments);
result = m_SshExec.exec(task);
if(result.isSuccess && result.rc == 0)
{
isSuccessful = true;
s_logger.info("Shell script executed successfully");
s_logger.info("Return code : " + result.rc);
s_logger.info("Sysout : " + result.sysout);
}
else
{
isSuccessful = false;
s_logger.info("Shell script execution failed");
s_logger.info("Return code : " + result.rc);
s_logger.info("Sysout : " + result.sysout);
}