1. pexpect 사용해보려고 하였으니 윈도우에서 사용이 불가

python27, python53 설치 후 pexpect 설치하여 테스트 해보았으나 동작하지 않음

대안으로 winexpect 라는것이 있는데 오픈소스를 더이상 관리하지 않고 종료된 상태


2. tcl.exe 를 이용하여 윈도우에서 expect 기능을 사용할수 있으나 

python 에서 호출할경우에 tcl 스크립트 호출해야하는 python -> tcl -> output 구조가 되서 에러처리에 문제가 있어보임


1/2 번 모두 비밀번호 입력을 자동화 하려고 하것인데

생각해보니 서버단에서 개인키를 핸들링하면 키로 인증하여 윈도우서버간에 파일전송을 할수가 있음

(파일전송후에는 키를 삭제하면됨)


src나 dst 경로에 공백이 들어갈 경우에 Administrator@test.com:'/cygdrive/e/path\ to\ directory' 와 같이 처리해주면됨


import os
cmd = "rsync -av -e \"ssh -o \"StrictHostKeyChecking=no\" -i /cygdrive/c/id_rsa -p 2222\" "
cmd += "Administrator@test.com:'/cygdrive/e/path\ to\ directory' /cygdrive/f"
os.system(cmd)


'Python' 카테고리의 다른 글

Threading  (0) 2016.12.22
pidlockfile.py for windows  (0) 2016.12.19
remove ^M(Carriage Return)  (0) 2016.11.30
sqlalchemy  (0) 2016.11.28
pexpect.pxssh  (0) 2016.11.24

+ Recent posts