2016-06-17 5 views
0

ライブラリparamikoでPython 2.7を使用しています。 最新の修正ファイルがリモートマシンにあります。ここに私のコードです:Python ssh最新のファイルを見つける

はまず、私は必要なライブラリをインポートし、

import paramiko 

第二に、私はその後sshクライアントとSFTP、

s = paramiko.SSHClient() 
s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
s.connect("XXX.XXX.XXX.XX",22,username="NAME",password='PW',timeout=4) 

sftp = s.open_sftp() 

を設定し、私は考えているかIディレクトリ/home/image/を走査して、リモートマシン内の最新の変更されたファイルを見つけることができます。

私だけのように、ローカルでそれを見つける方法を知っている:私は、リモートマシンの最新の修正されたファイルを見つけることができますどのように助けを求めています

file= max(glob.iglob(os.path.join('/home/image/','*.png')), key=os.path.getmtime).replace("//","/") 

。ありがとうございました。

+0

'ls -1t |ヘッド-1' –

+0

@BurhanKhalidお返事ありがとうございます。それは本当に素晴らしいコマンドです。しかし、このコマンドをPythonでどのように実行できますか? – VICTOR

答えて

0

最後に私は解決策を得ました。 @ Burhan Khalidのヒントをありがとう。

s = paramiko.SSHClient() 
s.set_missing_host_key_policy(paramiko.AutoAddPolicy()) 
s.connect("XXX.XXX.XX",22,username="NAME",password='PW',timeout=4) 
sftp = s.open_sftp() 

stdin, stdout, stderr = s.exec_command('cd /home/image; ls -1t | head -1') 
for line in stdout.read().splitlines(): 
    print line 
+2

これはSFTPソリューションではありません。リモートシェルを使用しており、特定のオペレーティングシステムまたはシェルに依存しています。 'sftp'変数は決して使用しないことに注意してください。 –

関連する問題