[python] Fabric으로 원격 서버에 명령 실행하기

Fabric은 파이썬 기반의 원격 서버 관리 도구로, 원격 서버에 명령을 실행하고 파일을 전송하는 등의 작업을 자동화할 수 있습니다. 이번 포스트에서는 Fabric을 사용하여 원격 서버에 명령을 실행하는 방법을 알아보겠습니다.

필수 사항

Fabric을 사용하기 위해서는 로컬 환경에 Fabric 패키지가 설치되어 있어야 합니다. Fabric을 설치하기 위해 다음 명령을 실행합니다.

pip install fabric

또한 원격 서버에는 SSH 서버가 설치되어 있어야 합니다. 원격 서버에 SSH를 사용하여 접속할 수 있는 계정과 비밀번호 정보가 필요합니다.

Fabric 스크립트 작성

Fabric 스크립트를 작성하기 위해서는 파이썬 코드를 사용합니다. 새로운 파이썬 파일을 생성하고 다음과 같이 작성합니다.

from fabric import Connection

def execute_remote_command():
    # 원격 서버에 접속하기 위한 정보
    host = 'your_host'
    username = 'your_username'
    password = 'your_password'
    
    # Connection 객체 생성
    c = Connection(host=host, user=username, connect_kwargs={"password": password})
    
    # 원격 서버에 명령 실행
    result = c.run('ls -l')
    
    # 실행 결과 출력
    print(result.stdout)

if __name__ == '__main__':
    execute_remote_command()

execute_remote_command 함수는 원격 서버에 접속하고 ls -l 명령을 실행하는 역할을 합니다. host, username, password 변수를 각자의 환경에 맞게 설정해야 합니다.

스크립트 실행

Fabric 스크립트를 실행하려면 다음 명령을 실행합니다.

python your_script.py

your_script.py 파일은 앞서 작성한 스크립트 파일명으로 변경해야 합니다.

결론

Fabric을 사용하면 파이썬을 통해 원격 서버에 명령을 실행하고 자동화할 수 있습니다. 이를 통해 서버 관리 작업을 효과적으로 처리할 수 있으므로, Fabric을 활용하여 개발 및 운영 업무를 보다 쉽게 관리할 수 있습니다.

참고 자료