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 的命令是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的方式登录远程服务器执行命令并返回结果