Fabric은 파이썬 기반의 배포 자동화 도구로, 원격 서버에 명령을 전송하고 관리하는 작업을 수행할 수 있습니다. 이번 포스트에서는 Fabric을 사용하여 원격 서버에 파일을 전송할 때의 제한 설정에 대해 알아보겠습니다.
Fabric 설치하기
Fabric을 사용하기 위해서는 먼저 Fabric을 설치해야 합니다. 터미널에서 아래의 명령을 실행하여 Fabric을 설치할 수 있습니다.
pip install fabric
Fabric이 성공적으로 설치되었다면, 다음으로 진행해보겠습니다.
원격 서버에 파일 전송하기
Fabric을 통해 원격 서버에 파일을 전송하기 위해서는 put
함수를 사용합니다. put
함수의 사용법은 다음과 같습니다.
put(local_path, remote_path)
local_path
: 로컬 컴퓨터에서 전송할 파일의 경로remote_path
: 원격 서버에 전송할 파일의 경로
예를 들어, 로컬 컴퓨터의 /path/to/local/file
경로에 있는 파일을 원격 서버의 /path/to/remote/file
경로로 전송하고 싶다면, 아래와 같이 코드를 작성할 수 있습니다.
from fabric import Connection
def send_file():
c = Connection('user@host')
local_path = '/path/to/local/file'
remote_path = '/path/to/remote/file'
c.put(local_path, remote_path)
위의 코드에서 Connection('user@host')
부분을 자신의 원격 서버의 사용자 이름과 호스트 주소로 변경해야 합니다.
전송 제한 설정하기
Fabric을 사용하여 파일을 전송할 때, 파일 크기가 크면 전송에 시간이 오래 걸리거나 전송에 실패할 수 있습니다. 이때, Fabric은 Config
클래스를 사용하여 전송 제한을 설정할 수 있는 옵션을 제공합니다.
Config
클래스의 upload_max
속성을 사용하여 파일 전송의 최대 크기를 제한할 수 있습니다. 기본값은 None
으로, 제한이 없음을 의미합니다. upload_max
속성에 전송할 파일의 크기 제한을 설정하면 됩니다.
아래의 예시 코드에서는 100MB 이상의 파일은 전송하지 않도록 설정하는 방법을 보여줍니다.
from fabric import Connection, Config
def send_file():
c = Connection('user@host', config=Config(upload_max=100000000))
local_path = '/path/to/local/file'
remote_path = '/path/to/remote/file'
c.put(local_path, remote_path)
위의 코드에서 100000000
은 100MB를 의미합니다.
결론
Fabric을 사용하여 원격 서버에 파일을 전송할 때, 파일 크기에 제한을 설정하면 신뢰성있게 파일 전송을 수행할 수 있습니다. 이를 활용하여 원격 서버로 파일을 안전하고 빠르게 전송해보세요!