라벨이 sftp인 게시물 표시

PYTHON SFTP 파일전송 (paramiko)

이미지
서버를 운영하다 보면 사용자들이 업로드한 파일을 분산 처리 하거나 하는 일이 상당히 많을 것이다. 파일 서버마다 WAS를 설치 하기도 그렇고 리눅스 서버를 사용한다면 SSH가 거의 기본으로 사용하다 보니 용이하게 파일 업로드 할 수 있도록 사용하는게 어떨가 싶다. 찾아보니 파이썬에서는 paramiko 라는 라이브러리가 있고 간단하게 사용 가능 하기에 정리 해둔다. 1. 패키지 설치 $ pip install paramiko 2. 코드구성 import paramiko # 호스트 (사용가능한것을 입력, 아래는 예시) host = "10.10.10.1" # 포트 (운영 서버라면 기본 포트 이외로 하는게 좋다) port = 22 # 트랜스포트 생성 transprot = paramiko.transport.Transport(host,port) # 사용자 아이디 패스워드 (일반 사용자로 구성) userId = "user" password = 'passwd' # 커넥션 transprot.connect(username = userId, password = password) sftp = paramiko.SFTPClient.from_transport(transprot) # 변수에 로컬 원격 파일명 선언 ( 같은 이름으로 해도 상관 없다 / 예시는 이해하기 쉽도록) localPath = 'local_img.png' remotePath = 'remote_img.png' # 파일 업로드 sftp.put(localpath, remotepath) # 파일 다운로드 (PUT 의 반대) sftp.get(remotepath, localpath) # Close sftp.close() transprot.close() 간단 하지만 매우 강력한 파일 업로드를 구성 할 수 있다. 여러 언어와 섞어서 쓰기도 좋을 듯하다.