2015-03-31 4 views
3

Есть ли способ сохранить временную метку при использовании файлов Paramiko в SFTP с одного сервера на другой, аналогично аргументу -p в Linux?Сохранять временную метку с 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

Парамико не поддерживает это.

После загрузки вы должны явно позвонить 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) 
Смежные вопросы