2015-03-31 89 views
3

當使用Paramiko到SFTP文件從一個服務器到另一個類似於Linux中的-p參數時,是否有一種方法保留時間戳?保留與Paramiko的時間戳

原始文件:

[email protected]:~$ ls -la 
-rwxrwx--- 1 jim admin 2214 Mar 30 17:33 compcip.asc 

上傳的文件:

sftp> ls -la 
-rwxrwx--- 1 no-user no-group 2214 Mar 30 18:49 compcip.asc 

上傳的文件需要有相同的時間戳原。

回答

2

Paramiko不支持。

上傳後您必須明確調用SFTPClient.utime


注意,pysftp(即在內部使用的paramiko)支持保留其pysftp.Connection.put() method時間戳。

您可以重複使用的執行(由我簡化代碼):

local_stat = os.stat(localpath) 
times = (local_stat.st_atime, local_stat.st_mtime) 

sftp.put(localpath, remotepath) 

sftp.utime(remotepath, times)