Tak*_*ku_ 5 python ssh shell paramiko
我正在慢慢地尝试为 SSH 然后 FTP 创建一个 python 脚本来执行一些我必须一直执行的手动文件获取操作。我正在使用 Paramiko,会话似乎命令,并打印目录,但我的更改目录命令似乎不起作用,它打印我开始的目录:/01/home/。
import paramiko
hostname = ''
port = 22
username = ''
password = ''
#selecting PROD instance, changing to data directory, checking directory
command = {
1:'ORACLE_SID=PROD',2:'cd /01/application/dataload',3:'pwd'
}
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname,port,username,password)
for key,value in command.items():
stdin,stdout,stderr=ssh.exec_command(value)
outlines=stdout.readlines()
result=''.join(outlines)
print (result)
ssh.close()
Run Code Online (Sandbox Code Playgroud)
好吧,通过偶然尝试一些东西,我相信我设法解决了这个问题。您需要一次执行所有命令,而不需要循环执行它们。就我而言,它将是
import paramiko
hostname = ''
port = 22
username = ''
password = ''
#selecting PROD instance, changing to data directory, checking directory
command = 'ORACLE_SID=PROD;cd /01/application/dataload;pwd'
ssh=paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname,port,username,password)
stdin,stdout,stderr=ssh.exec_command(value)
outlines=stdout.readlines()
result=''.join(outlines)
print (result)
ssh.close()
Run Code Online (Sandbox Code Playgroud)