kom
(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]
Или есть какой-то другой способ?
AlexA
(Alex.A)
#2
Возможно такой вариант может помочь:
subprocess.Popen(["scp", filename, "%(user)s@%(server)s:%(remotepath)s" % vars]).wait()
polusok
(Mykhailo Poliarush)
#3
а причем тут SCP к windows.
SCP основывается на ssh, значит тогда на windows серверах должны быть ssh серверы
а что нужно выполнять на удаленной машине?
если эти сервера в одной подсети, то можно просто перенести файл только указывать удаленный путь через \\
например, http://answers.yahoo.com/question/index?qid=20120209070123AAMV8cN
polusok
(Mykhailo Poliarush)
#5
нужно на сервере куда хотите передать файл поднять ssh server
установить его можно просто с помощью http://www.cygwin.com/ выбрав openssh
или на сервере уже установлен ssh server?
kom
(kom)
#6
Похоже что можно только с удаленной машины выполнять эти команды.
с помощью shutil.copy2 и пути типа sourcePath = r'\\C\test.txt' сработало