python/도구

python 에서 원격으로 폴더 생성(paramiko)

자코린이 2022. 7. 22. 20:08

서버에 파일을 자동으로 올리고 싶은데 파일을 구분하기 편하게 폴더로 만들어주고 싶은 순간이 옵니다.

이 경우에 손으로 하는 것보다는 paramiko를 사용한 scp통신으로 폴더를 만드는 방법을 추천합니다.

 

import datetime
import os
import paramiko

currentTime = datetime.datetime.now()
dirName = str(currentTime.strftime('%Y%m%d'))
filename = "CAM1.jpg"
host = ""
port = 22
transport = paramiko.Transport((host, port))

user = "user"
passwd = "passwd"

#try except를 걸어주시면 더 안전합니다.
transport.connect(username = user, password = passwd)


sftp = paramiko.SFTPClient.from_transport(transport)

try:
    sftp.stat(f"/home/master/{dirName}")
    print("exist")
except IOError:
    print("not exist")
    #윈도우는 \\ 리눅스는 / 를 사용합니다.
    sftp.mkdir(f"/home/master/{dirName}")
path = f"/home/master/{dirName}/{filename}"
localpath =f"/home/master/{filename}"
sftp.put(localpath, path)
print(path)
print(localpath)

sftp.close()
transport.close()

 

더 안전한 코드를 만드시고 싶으시면 예외 처리를 꼼꼼히 해주세요

예외처리가 안 되어있으면 서버가 죽을 수 있습니다.(굉장히 곤란한 상황이 옵니다.)

 

이 글이 도움이 되셨으면 합니다. :)

'python > 도구' 카테고리의 다른 글

가비아 sms 최종 소스  (0) 2022.12.07
가비아 sms 서비스 구축  (0) 2022.12.07
공공데이터포털 데이터를 mysql에 넣기  (0) 2022.08.09
python 파일 삭제  (0) 2022.07.22
Thread 생성  (0) 2022.07.21