日期:2014-05-16  浏览次数:20663 次

windows上通过php页面查看linux系统上的各个最新日志信息

?

采用: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