java 在用 FtpClient 执行远程命令的时候 550 Delete operation failed

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 在用 FtpClient 执行远程命令的时候 550 Delete operation failed相关的知识,希望对你有一定的参考价值。

String exec="DELE /ebss/test/a.txt";

private static boolean execShell(FtpClient ftpClient,String exec)
boolean flag=false;
try
ftpClient.sendServer(exec + "\r\n");

int f=ftpClient.readServerResponse();
System.out.println("ff...."+f);
String s=ftpClient.getResponseStrings().toString();
if(f==200)
System.out.println(exec + "运行成功..."+s);
flag=true;
else
flag=false;
System.out.println(exec +"运行失败..."+s);


catch(Exception e)
e.printStackTrace();
flag=false;

return flag;

删除权限不够?检查一下,文件夹的权限。可以在连接ftp服务器测试下。有的时候端口不通,也可能会出现这个问题 参考技术A String exec="DELE /ebss/test/a.txt";

查看ftp 的命令是delete

python paramiko模块远程执行多条命令

最近一直在用python的paramiko执行远程命令,发现如果直接写的话在每条命令后加分号执行时会报错,如果不加分号,分一条命令一条命令地执行,起不到作用,如切换路径等,后面在网上找到了相关的方法,只要在exec_command(cmd,get_pty=True)在命令语句后加get_pty=True即可。代码如下:

    def exec_command(self,cmd):
        client = paramiko.SSHClient()
        try:
            client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
            client.connect(self.hostip, self.port, username=self.username, password=self.pwd, timeout=20)
            stdin, stdout, stderr = client.exec_command(cmd,get_pty=True)
            # logWriteToTxt(self.sitename + "执行"+cmd)
            res=""
            results = stdout.readlines()

            for line in results:
                res+=line
            try:
                err=stderr.readlines()
                for line in err:
                    res+=line
            except:
                pass
                # results = stdout.readlines()
            # logWriteToTxt("在" + self.sitename + "执行"+cmd + res)

            return res
        except:
            pass
        finally:
            client.close()

  

以上是关于java 在用 FtpClient 执行远程命令的时候 550 Delete operation failed的主要内容,如果未能解决你的问题,请参考以下文章

如何使用java通过ssh的方式登录远程服务器执行命令并返回结果

FTP主动模式与被动模式,及java FTPClient模式设置

如何用Java获取远程服务器中指定目录下的所有文件夹名

python paramiko模块远程执行多条命令

linux系统下java执行带rar命令解压带有空格的文件

apache的ftpClient的setConnectTimeout方法怎么用