日期:2014-05-16 浏览次数:20730 次
?
采用:php? + paramiko? + python
?
在php页面中,通过exec执行调用.py文件,有两个.py文件
?
其一、为把PHP文件传入linux系统
.py文件一角
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) #创建套接字接口
sock.connect((HOST,PORT))? # 连接服务器
t = paramiko.Transport(sock)
t.start_client()
t.auth_password(USERNAME,PASSWORD)
remotefile1_linux = "/tmp/fetchMyLogs_doOnServer.php"
localpath1_wins = "fetchMyLogs_doOnServer.php"
sftptest=paramiko.SFTPClient.from_transport(t)
sftptest.put(localpath1_wins,remotefile1_linux)
?
?
其二、通过SSH远程执行命令
.py文件一角:
s.connect(hostname=HOST,username=USERNAME,password=PASSWORD)
stdin,stdout,stderr=s.exec_command('cd ../tmp/;php fetchMyLogs_doOnServer.php;')# 执行linux命令
print stdout.read()
...
...
sftptest=paramiko.SFTPClient.from_transport(t)
sftptest.put(localpath1_wins,remotefile1_linux)
sftptest.close()
t.close()
?
?
最后传回.log文件的最新8K长的最新日志信息。
?
?
?
执行后,获取到的截图如下:
?
?
?
?
?
?
?
?
附:
介绍:Paramiko: SSH and SFTP With Python