Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как копировать файл на удаленный компьютер


(kom) #1
Обе машины на Windows (7 и server 2003)
 
import subprocess
 
filepath = "c:\\test.txt"
hostname = "myname@serverip:port"
remote_path = "C:\Documents and Settings\myname\My Documents"
 
subprocess.call(['scp', filepath, ':'.join([hostname,remote_path])])
 
выдаются такие ошибки: 
 
Traceback (most recent call last):
  File "subprcopy.py", line 8, in <module>
    subprocess.call(['scp', filepath, ':'.join([hostname,remote_path])])
  File "C:\Python\lib\subprocess.py", line 493, in call
    return Popen(*popenargs, **kwargs).wait()
  File "C:\Python\lib\subprocess.py", line 679, in __init__
    errread, errwrite)
  File "C:\Python\lib\subprocess.py", line 893, in _execute_child
    startupinfo)
WindowsError: [Error 2]
 
 
Или есть какой-то другой способ? 
 
 
 

 


(Alex.A) #2

Возможно такой вариант может помочь:

subprocess.Popen(["scp", filename, "%(user)s@%(server)s:%(remotepath)s" % vars]).wait()


(Mykhailo Poliarush) #3

а причем тут SCP к windows.

SCP основывается на ssh, значит тогда на windows серверах должны быть ssh серверы

а что нужно выполнять на удаленной машине?

если эти сервера в одной подсети, то можно просто перенести файл только указывать удаленный путь через \\

например, http://answers.yahoo.com/question/index?qid=20120209070123AAMV8cN


(kom) #4

Та же ошибка:

WindowsError: [Error 2]

 

 


(Mykhailo Poliarush) #5

нужно на сервере куда хотите передать файл поднять ssh server

установить его можно просто с помощью http://www.cygwin.com/ выбрав openssh

или на сервере уже установлен ssh server?


(kom) #6

Похоже что можно только с удаленной машины выполнять эти команды.

с помощью shutil.copy2  и пути типа sourcePath = r'\\C\test.txt' сработало